GDOUCTF doublegame

分析

打开程序,发现是一个贪吃蛇游戏,直接上CE

image-20230418142236635

看来是要达到多少分才行,那么去找得分的基址

image-20230418142407000

这个出题人也是牛,直接是静态地址,都不带一点偏移的,一下子就知道了,然后就直接改就行了

image-20230418142530540

直接进入第二关,第二关一看就是个迷宫,先去IDA看一下移动的按键和哪个是猫哪个是终点

image-20230418142733604

然后开始走迷宫

image-20230418142857233

走完迷宫后让我们输入key,去IDA中看一下

image-20230418143534668

看来是需要知道第一关到底要达到多少分才能知道key了。这里游戏是过了第一关就直接进入第二关,说明函数可能存在调用关系

那么直接找一下是谁调用的第二关

image-20230418143132125

这里可以看到是这里调用了刚刚的迷宫函数,接着去看看他是哪里的

image-20230418143232531

继续查看是谁调用了它

image-20230418143310651

这里看到了GAME OVER就知道这里应该是第一个游戏的函数,然后这个>13371337应该就是要达到的分数才会进去那个找猫的函数,所以key就是13371337

image-20230418143724843

然后就是最后一个走迷宫了

image-20230418144009833

走出迷宫后md5一下再加上刚刚的分数就是flag了

HZCTF{811173b05afff098b4e0757962127eac13371337}