[2019红帽杯]Snake

记录一下第一次逆向Unity,豪赤!
首先下载附件,是一个unity加资源文件。然后听大佬说找到Assembly-CSharp.dll,就可以在dnspy中反汇编游戏框架了。扔进dnspy发现该游戏调用了一个interface接口,主函数什么的应该就在这个调用的dll里面。
在plugins中找到interface,扔进ida中

观察到这个函数只有一个参数num,并且要求num大于等于0,小于等于99,如此编写脚本爆破即可。
这里使用到pyhton的ctypes库,也是第一次使用,记录一下。
ctypes库的作用是可以调用c语言dll文件中的函数,总而我们可以编写爆破脚本:

import ctypes
#加载函数库
dll = ctypes.cdll.LoadLibrary(r"D:\桌面\ctf题库\Snake_Data\Plugins\Interface.dll")
for i in range(100):
    dll.GameObject(i)#调用库函数
    print(i)

如此直接爆破出flag即可:flag{Ch4rp_W1th_R$@}

posted @ 2024-08-05 09:59  Ve2n0uth  阅读(7)  评论(0编辑  收藏  举报