直接断点发现不停的进来,我靠加个条件断点:
先输入让OK按钮亮起来:
为什么是ESP+4,因为:
点击simlock的OK按钮很幸运,进来了:
Alt+F9从系统的 USE32空间跳到我们的code空间:显示如下:
继续F8單步调试到004B0490F7跳入函数继续跟进,发现我们输入的字符:EAX寄存器点击右键选择follow in dump,直接跟进内存区:
EAX存了我们输入的字符串地址0807cb88,继续F8跟进:
当前選中这一句我们看下面注释为ds:[0807cb7c]=,很明显,这是判断我们输入的字符是否为空显示这不是我们想要的,继续F8跟进:
这里我特别对ECX进行了内存哏踪发现,在运行到CALL 这个命令时ECX存的数据为0012E4CC,而内存0012E4CC包括了88 CB 07 08也就是我们输入的字符串地址(前面我们记录了),说明这是个关键比較函数事实上,后面只需要把后面0040DC73的这个test eax,eax强制改了就注册成功了,我们还是跟进去看吧:
F7进入比较算法函数:
运行到这一步其实什麼都出来了,我们看到EAX保存了我们输入的字符串而ECX也保存了一个字符串,后面这一段我特别加上注释再截个图出来:
都看出来了直接嘚解锁码为,:最后代码是: