实验吧haha.exe(逆向题)的解题思路

最近在学逆向,刚好碰到一道题,写一下思路。

题目地址:

http://ctf5.shiyanbar.com/reverse/520windows3/qudong.rar

题目说明:

实验吧haha.exe(逆向题)的解题思路_第1张图片


运行后提示

实验吧haha.exe(逆向题)的解题思路_第2张图片

 

按流程来,先拉进IDA里按F5看看:

 实验吧haha.exe(逆向题)的解题思路_第3张图片

原来Key是通过CMD参数给出。

然后是这个,很显眼的反调试:

 

先干掉他:

 实验吧haha.exe(逆向题)的解题思路_第4张图片

改成无论如何都继续程序而不退出:

 实验吧haha.exe(逆向题)的解题思路_第5张图片

 

保存

 实验吧haha.exe(逆向题)的解题思路_第6张图片

 

继续分析知:

 

1. 关键验证在这里:

 

比对两个数组,不等就:

 

 

2. 输入的Key会经过好几个函数的加密

 实验吧haha.exe(逆向题)的解题思路_第7张图片

    实验吧haha.exe(逆向题)的解题思路_第8张图片

 

看起来静态分析代码再手动写解密程序是不可能了,只能动态调试看看关键地方

 

里的v16和v86是何方神圣了。(其实前面的反调试已经暗示了这道题要用动态调试)

 实验吧haha.exe(逆向题)的解题思路_第9张图片

在上面提到的关键比较处下断点,然后选择调试器,设置了几个不同的参数开始调试。发现:

3.   v16是静态的,v86根据输入key不同而改变

 

 

所以,就去看看v16所在地址是什么呗:

 

看来不是明文,先拿去解密网站试试:www.cmd5.com

 实验吧haha.exe(逆向题)的解题思路_第10张图片

 


 

结果没报错,所以key就是hello

 实验吧haha.exe(逆向题)的解题思路_第11张图片



你可能感兴趣的:(MSP)