![BUU[2019红帽杯]Snake,第1张 BUU[2019红帽杯]Snake,第1张](/aiimages/BUU%5B2019%E7%BA%A2%E5%B8%BD%E6%9D%AF%5DSnake.png)
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$@}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)