报错信息
通过字符串定位到关键代码位置
可以看到这里提示成功,上面有一个跳转
看一下跳转到那里,发现跳转到失败
所以第一种方法就是 修改 je
为 jmp
或者 jne
或者直接Nop掉
分析跳转代码前面的代码。发现有那个特殊的字符串 我们下一个断点,前面的传参代码也下个断点
还可以发现这个字符串后面有一个比较函数ds:[00403108]=0F01F8F6 (Msvbvm50.__vbaStrCmp
)
我们下好断点了运行,随便输入一个注册码
把我们输入的注册码传给ecx 然后把Ecx入栈
然后把这个特殊字符串压入栈中,和我们的注册码一起作为参数传给比较函数。比较的结果是-1 传入Eax中
后面的代码一直到跳转代码,都会受到这个比较结果的影响,所以这个注册码就是这个特殊字符串
00401A54=Andréna.00401A54 (UNICODE "SynTaX 2oo1
")