
报错信息

通过字符串定位到关键代码位置
可以看到这里提示成功,上面有一个跳转

看一下跳转到那里,发现跳转到失败

所以第一种方法就是 修改 je 为 jmp 或者 jne 或者直接Nop掉
分析跳转代码前面的代码。发现有那个特殊的字符串 我们下一个断点,前面的传参代码也下个断点

还可以发现这个字符串后面有一个比较函数ds:[00403108]=0F01F8F6 (Msvbvm50.__vbaStrCmp)
我们下好断点了运行,随便输入一个注册码

把我们输入的注册码传给ecx 然后把Ecx入栈
然后把这个特殊字符串压入栈中,和我们的注册码一起作为参数传给比较函数。比较的结果是-1 传入Eax中

后面的代码一直到跳转代码,都会受到这个比较结果的影响,所以这个注册码就是这个特殊字符串
00401A54=Andréna.00401A54 (UNICODE "SynTaX 2oo1")
