首页
论坛
专栏
课程

[调试逆向] [系统底层] [原创]XCTF 攻防世界 reverse 高手进阶 RCTF-2015 TankGame writeup

2019-4-4 10:24 849

[调试逆向] [系统底层] [原创]XCTF 攻防世界 reverse 高手进阶 RCTF-2015 TankGame writeup

2019-4-4 10:24
849

拿到题目之后解压,图片、地图、游戏啥的都有,双击exe一看,还真是坦克大战,玩了一会,游戏体验极差,直接放IDA里面找FLAG



进入IDA之后发现WinMain这有一段不能识别为C,而且这一段有好几个函数调用,逐一查看函数调用情况。



第一个sub_4010B0进去之后啥也没发现;第二个sub_401580进去之后发现这就是个深不见底的函数调用,系统对话框的函数居多,初步判断应该是正常游戏运行的各种调用,应该不是要找到,暂时跳过;第三个sub_401700进去之后,继续查看里面的sub_402B50,发现有部分代码结构如下


将v14-v39(v20、v32位置特殊)的数据与0x39异或写入文件,而v14-v39则是堆栈中的一段连续数据


将数据copy后运行一下看结果

arr = [ 0x6C, 0x66,0,92,0x4D,0x66,0x6D,0x51,10,0x66,0x5F,8,0x79,0x5E,0x66,9,127,0x66,0x6d,0x58,0x57,0x52,0x7E,0x58,0x54,92]
flag = ''
for i in arr:
    flag += chr(i ^ 0x39)
print(flag)
输出:U_9et_Th3_f1@g_0F_TankGame
目测应该是flag,根据题目要求修改提交,正确



[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上传的附件:
上一主题 下一主题
最新回复 (1)
罗小墨 2019-4-4 16:34
2
0
学习
游客
登录 | 注册 方可回帖
返回