先打开od,然后ctrl+g,到达程序顶部00401000:
ctrl+f,搜索push 10001:
第一个:
有两个地址,601的和520的,都可以记录下来:
004010D5 |. 68 23000106 push 0x6010023
004010DA |. 68 24000152 push 0x52010024
ctrl+l继续搜索,第二个:
0040126A |. 68 6D000106 push 0x601006D
0040126F |. 68 40000152 push 0x52010040
继续搜索,发现只有这两个了。
然后ctrl+b,输入ff25:
进入初始化的代码这里,这里面有两个push,都可以试试空格替换成上面的几个,看哪个能行。
经过测试,push 0x52010024这个替换第二个箭头那里能够成功。
ps:
还有一种方法,就是搜索字符串,然后把判断成功处的代码,直接在这两个初始化的地方jmp过去。
右键智能搜索,看到验证成功:
双击进入,记录下关键跳转的下一行:
0040108A |. BB 06000000 mov ebx,0x6
直接修改那个初始化代码那里,变成jmp 0040108A: