520windows3

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

转自CSDN,原连接