CTF

京津冀挑战赛 2016 PartFour writeup

Posted by Jieming Gu on 2016-12-18

本文为2016年京津冀挑战赛中PartFour的writeup。

Writeup

首先点我下载题目。直接使用jeb反编译,关键代码如下:

1

IDA反汇编发现程序采用动态注册。“IDA使用小结(三)”中我已经总结了相应的查找方法,可以轻松找到check对应_Z5checkP7_JNIEnvP7_jclassP8_jstring

2

3

查看_Z5checkP7_JNIEnvP7_jclassP8_jstring的伪代码。

4

5

check对输入字符串进行字节校验。首先把字符串转为字节数组,然后逐位校验。v11-v22通过memcpy进行初始化赋值,双击v11-v22,可以看到对应的存储地址,根据memcpy的拷贝结果可以推断答案。

6

7

8

答案是6226001165384796