BUUCTF [BJDCTF2020]BJD hamburger competition

考点:Unity游戏逆向

解压 运行是一个小游戏


看文件发现是Unity Mono架构逆向题

BJD hamburger competition.exe+UnityPlayer.dll+BJD hamburger competition_Data文件夹 → 说明是 Unity 引擎开发的游戏
没有GameAssembly.dll这类文件 → 说明是 Mono 架构(而非 IL2CPP),核心逻辑在 C# 写的Assembly-CSharp.dll里,直接用dnSpy就能反编译查看。
因为是C#写的,所以用dnspy打开BJD hamburger competition_Data\Managed里的Assembly-CSharp.dll文件

找到核心ButtonSpawnFruit函数



先还原SHA1 md5在线解密破解,md5解密加密


得str为1001

因为flag{MD5(str)},1001加密后是


有32位和16位的,查看MD5函数


ToString("X2"):

X:大写;x:小写

2:每次都是两位数

Substring(0, 20):从索引为0开始,提取20位字符串

所以20位的大写MD5,flag{B8C37E33DEFDE51CF91E}