[Reverse]windows--reverse xp0int Posted on Oct 28 2018 # windows--reverse <br> 下载文件后,直接运行,看看结果如下: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab64414167005418) <br> 可知,该处需要输入一个数字进行验证,用IDA打开进行静态分析,根据上面的字符串(please input your number:)找到关键函数如下:分析汇编代码可知,该函数需要输入一个数字(如果懂得汇编代码的,可直接分析得7E2h=2018,从而知道数字验证为2018),然后进行比较验证: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541d) <br> 也可以用F5查看伪代码,如下(直接获得验证数字为2018,否则一直循环): ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541b) <br> 运行程序,验证分析结果如下(数字正确): ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541a) <br> 接下来,继续分析下面的验证函数,如下(黄色部分,因为该函数验证后,便调用对比函数进行对比,然后jz跳转,因此,该函数可能为flag验证函数): ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab64414167005419) <br> 先点击进入验证函数进行分析,如下: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541c) <br> 然后F5查看伪代码如下: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541e) <br> 从伪代码中可以看出,该验证主要是对字符串1s_verreverse_y_easy进行一系列处理后,和输入的“flag”进行比较,而且,主要是调用sub_426810函数进行处理,点击进入该函数: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab64414167005417) <br> 通过上述结果可知,该函数为substr函数,因此,通过分析还原接下来要验证的函数的处理代码(在图中的伪代码中,是以四个if语句给出,下面的代码直接用&&来连接)为: ```c bool check(string input) { bool ret = false; string flag = "1s_verreverse_y_easy"; if (flag.length() == input.length() && flag.substr(0, 6) == input.substr(8, 6) && flag.substr(6, 8) == input.substr(0, 8) && flag.substr(14, 6) == input.substr(14, 6)) { ret = true; } return ret; } ``` <br> 根据验证函数,可写出如下代码获取flag(该逆向思路比较简单,也可以自己手动切,拼出flag): ```c #include<iostream> #include<string> #include<string.h> using namespace std; int main(){ string flag = "1s_verreverse_y_easy"; cout<<flag.substr(6, 8)+flag.substr(0, 6)+flag.substr(14, 6); return 0; } ``` <br> 运行程序,结果如下: ![title](https://leanote.com/api/file/getImage?fileId=5bd31258ab6441416700541f) <br> 然后,题目描述为:拼拼拼,因此,要提交的flag应为前后验证拼在一起的结果: `flag{2018reverse_1s_very_easy} ` 打赏还是打残,这是个问题 赏 Wechat Pay Alipay [Misc]bitcoin_base [Misc]加密了吗
没有帐号? 立即注册