一:od断点注释保存问题,由于od只有正常退出情况保存分析代码留下注释,很多时候为了退出od不让目标程序退出使用剥离进程,这样导致这次操作所有注释没有保存,第二次重新载入时候重新分析注释断点,所以需要自己下载一个插件 Myinfo.dll,这个插件可以手动保存注释断点,插件里面导出操作注释导出一个文件中,导入操作注释导入od代码分析界面来,注意,每次导出操作删掉文件内容,保留本次导出内容

二: 插件安装,od插件只需插件dll粘贴od安装文件夹plugin文件即可

三: 定位代 码时有时使用一些花指令代码 比如_asm{ mov eax,eax  mov eax,eax} 这样的代码无实际作用,但是有助于定位程序代码段,可是查找命令序列时有时找不出来,这就需要点查看可执行模块,找出目标模块,双击,一般需要重复两次操 作,这样才能找到该命令序列,以为开始中断并不处于主模块内,需要进入主模块段才可以查找注释和指令

四:od一些常用命令  

dd 以四字节方式转储,也就是以四字节的方式查看地址内存的值,比如一个数组 array[20] 它的首地址是405118 那么 dd 405118 就可以     看到array[0]的值了,dd i*0x4+405118 就可以看到数组array[i]的值,游戏分析时分析对象数组,dd [eax*4+03f82520]   首先取出数   组03f82520[eax]里面保存的地址,然后查看该地址的值,很多怪物对象的首地址都是放在对象数组里面,找到该地址,就可以分析出该怪物的相应信息如 dd  [eax*4+03f82520] +0xc 这个可能就是怪物生命等等

dc 是以ascill码显示该地址,这个一般是查看文本信息 

hw硬件中断在写入时

db 以比特格式十六进制转储

当然有一些快捷键命令 暂时不表 

五: 备份,修改数据之前,难免要备份,这就要用到备份功能,这样就可以很容易恢复到修改之前

六: 跟踪调试,这个功能相当不错,可以记录所有寄存器的值,这样便于观察分析

七: 直接更改程序汇编代码,然后保存到文件,这样就相当于更改了部分程序代码,很方便

八:下API断点 等熟悉了再补充

posted on 2014-07-24 19:17  milantgh  阅读(4689)  评论(0编辑  收藏  举报