OllyDBG 入门系列(三)-函数参考
2010-09-30 16:54:16 来源:WEB开发网核心提示: 这里留下了一个问题:那个ESI寄存器中的值是从哪运算出来的?先不管这里,我们接着按F8键往下走,OllyDBG 入门系列(三)-函数参考(6),来到0040140B地址处的那条RETN指令(这里可以通过在调试选项的“命令”标签中勾选“使用RET代替RETN&r
这里留下了一个问题:那个 ESI 寄存器中的值是从哪运算出来的?先不管这里,我们接着按 F8 键往下走,来到 0040140B 地址处的那条 RETN 指令(这里可以通过在调试选项的“命令”标签中勾选“使用 RET 代替 RETN”来更改返回指令的显示方式),再按一下 F8,我们就走出 00401328 地址处的那个 CALL 了。现在我们回到了这里:
0040132D |. 3BC6 CMP EAX,ESI ; 比较
0040132F |. 75 42 JNZ SHORT CrackHea.00401373 ; 不等则完蛋
光标停在了 0040132D 地址处的那条指令上。根据前面的分析,我们知道 EAX 中存放的是我们输入的注册码经过计算后的值。我们来看一下信息窗口:
ESI=E6B5F2F9
EAX=FF439EBE
左键选择信息窗口中的 ESI=E6B5F2F9,再按右键,在弹出菜单上选“修改寄存器”,我们会看到这样一个窗口:
可能你的显示跟我不一样,因为这个 crackme 中已经说了每个机器的序列号不一样。关掉上面的窗口,再对信息窗口中的 EAX=FF439EBE 做同样操作:
编缉推荐阅读以下文章
- OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
- OllyDBG 入门系列(四)-内存断点
- OllyDBG 入门系列(二)-字串参考
- OllyDBG 入门系列(一)-认识OllyDBG
更多精彩
赞助商链接