本文主要是介绍BUU[2019红帽杯]Snake,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下载的时候看到是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$@}这篇关于BUU[2019红帽杯]Snake的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!