WEB开发网
开发学院网络安全黑客技术 OllyDBG 入门系列(四)-内存断点 阅读

OllyDBG 入门系列(四)-内存断点

 2010-09-30 16:54:11 来源:WEB开发网   
核心提示: 通过上面的分析,我们知道基本算法是这样的:先用GetDriveTypeA函数获取磁盘类型参数,OllyDBG 入门系列(四)-内存断点(7),再用GetVolumeInformationA函数获取这个crackme程序所在分区的卷标,如我把这个Crackme程序放在F:\OD教程\crackhe

通过上面的分析,我们知道基本算法是这样的:先用 GetDriveTypeA 函数获取磁盘类型参数,再用 GetVolumeInformationA 函数获取这个 crackme 程序所在分区的卷标。如我把这个 Crackme 程序放在 F:\OD教程\crackhead\ 目录下,而我 F 盘设置的卷标是 GAME,则这里获取的就是 GAME,ASCII 码为 “47414D45”。但我们发现一个问题:假如原来我们在数据窗口中看到的地址 40339C 处的 16 进制代码是“47414D45”,即 “GAME”,但经过地址 00401442 处的那条 MOV EBX,DWORD PTR DS:[ESI] 指令后,我们却发现 EBX 中的值是 “454D4147”,正好把我们上面那个“47414D45”反过来了。为什么会这样呢?如果大家对 x86系列 CPU 的存储方式了解的话,这里就容易理解了。我们知道“GAME”有四个字节,即 ASCII 码为“47414D45”。我们看一下数据窗口中的情况:

0040339C     47 41 4D 45 00 00 00 00 00 00 00 00 00 00 00 00     GAME............

大家可以看出来内存地址 40339CH 到 40339FH 分别按顺序存放的是 47 41 4D 45。

如下图:

http://tech.cncms.com/tech/UploadPic/2010930/2010930165415435.gif  

编缉推荐阅读以下文章

  • OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
  • OllyDBG 入门系列(三)-函数参考
  • OllyDBG 入门系列(二)-字串参考
  • OllyDBG 入门系列(一)-认识OllyDBG

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:OllyDBG 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接