[2019红帽杯]Snake

打开文件发现这应该是一个unity编写的游戏,打开程序,做的真的很棒,试着玩了一下发现有很多的阶段,看来不能通过玩游戏找到flag了

96

Assembly-CSharp.dll直接拖进dnspy看,通过寻找找到主函数GameObject,看上面的import发现这个函数在Interface这个dll中

93

找到Interface这个dll,进入IDA,根据字符串找到函数

94

观察输入的a1的值,发现输入进来的a1的约束条件,a1要在0到99之间,下面进行了一大段的运算,直接去逆比较困难,那只能去调用这个函数去爆破

95

1
2
3
4
5
6
7
8
9
import ctypes

def baopo(i):
dll = ctypes.cdll.LoadLibrary("E:\\doenload\\re\\buu\\[2019红帽杯]Snake\\Snake\\Snake_Data\\Plugins\\Interface.dll")#进入interface.dll这个文件
print(i)
dll.GameObject(i)#调用GameObject()这个函数

for i in range(0,100):#从0~99开始爆破
baopo(i)

91

这个爆破的时间有点就久,中间可能有大量的运算