BUUCTF之[BJDCTF2020]BJD hamburger competition (复现)

一个老八把我整不会了,看其他师傅的wp才知道,这个是C#和unity开发的游戏,所以我们用dnspy进行反编译

下面是复现过程

看到是unity程序,上网查了相关参考,一般是用js或者c#进行开发的,c#偏多

net的核心代码在\TPH\TPH_Data\Managed\Assembly-CSharp.dll出

然后我们直接打开dnspy64位的,不知道的可以去查一下

然后将BJD hamburger competition_Data 中的Manged文件夹下的Assembly-CSharp.dll文件进行反汇编即可

在ButtonSpawnFruit窗口找到了Md5和Sha1的字样。

发现鸭屁股等字样与游戏中的食物匹配,所以初步判断出这是解密的关键之处

在最底下可以初步判断出,先是Sha1的解密,然后进行一个md5的加密

SHA1解密为1001,然后进行md5加密

然后发现有flag字符串,但是我把大小写的字母都交了交,发现没用。

我们继续跟进md5的引用的地方

发现有一个可疑之处是ToString("X2"),还有一个Substring(0,20)

所以我们知道,首先指定md5加密后的字符串也就是flag,全为大写,而且直截取前20个字符

解毕

flag{B8C37E33DEFDE51CF91E}

 

posted @ 2022-12-10 21:34  Qsons  阅读(207)  评论(0编辑  收藏  举报