下载的时候看到是17.2MB
,头一回见到这么大的文件。
解压之后打开发现是一个游戏
文件目录下就这些东西,使用unity写的,搜索了一下,unity逆向的主要文件是**Assembly-CSharp.dll**
,然后直接在这个文件夹下搜索
**Assembly-CSharp.dll**
最后在Snake\Snake_Data\Managed这个目录下找到了
然后把它拖入ida
打开,找到GameObject
, 这个就是游戏的主体函数。
用dnspy
打开Assembly-CSharp.dll
, 然后找到Interface
下的GameObject
函数
下一步找到Interface.dll
文件,然后拖入ida
然后查看字符串, 找到关键字flag
跟进查看伪代码
整个函数一共四百多行,要搞懂他并且得到flag太难了,所以我查找wp
,找到了可以直接爆破的办法:
观察到整个函数只有a1
一个参数,而且整个函数是在a1
在 0~99
之间的情况下运行的,
直接上python脚本
import ctypes
for i in range(0,100):#从0~99开始爆破
dll = ctypes.cdll.LoadLibrary("(Interface.dll目录)")#进入interface.dll这个文件
print(i)
dll.GameObject(i)#调用GameObject()这个函数
最后的结果是:
flag{Ch4rp_W1th_R$@}