实验吧haha.exe(逆向题)的解题思路
最近在学逆向,刚好碰到一道题,写一下思路。
题目地址:
http://ctf5.shiyanbar.com/reverse/520windows3/qudong.rar
题目说明:
运行后提示
按流程来,先拉进IDA里按F5看看:
原来Key是通过CMD参数给出。
然后是这个,很显眼的反调试:
先干掉他:
改成无论如何都继续程序而不退出:
保存
继续分析知:
1. 关键验证在这里:
比对两个数组,不等就:
2. 输入的Key会经过好几个函数的加密
看起来静态分析代码再手动写解密程序是不可能了,只能动态调试看看关键地方
里的v16和v86是何方神圣了。(其实前面的反调试已经暗示了这道题要用动态调试)
在上面提到的关键比较处下断点,然后选择调试器,设置了几个不同的参数开始调试。发现:
3. v16是静态的,v86根据输入key不同而改变
所以,就去看看v16所在地址是什么呗:
看来不是明文,先拿去解密网站试试:www.cmd5.com
结果没报错,所以key就是hello