OD使用方法.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OD使用方法

OD使用方法 ollydbg的界面: 菜单: 文件: 1.其中包括该菜单的下部有上次打开的纪录,该纪录保存有上次未清除的断点. 2.附加.对付那些Anti-Debug程序.先运行程序,再运行od, 文件--附加. 查看: 1.执行模块(Alt+E),查看程序使用的动态链接库 2.查看断点.Alt+B 调试: 1.运行(F9)加载程序后,运行! 2.暂停(F12) 3.单步进入(F7)遇见CALL进入!进入该子程序. 4.单步跳过(F8)遇见CALL不进去! 5.执行到返回(ALT+F9)就是执行到该子程的返回语句 ollydbg的16进制编辑功能.类似与hiew,hex workshop 查看--文件 二进制文件编辑功能.查看--文件,打开的文件是二进制显示.选中要改变的机器指令,空格,修改,右击--保存. ollydbg的四个区域 左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值. 右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色显示. cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态. 不错; 左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息; 右下角的是当前堆栈情况,还有注释啊. F3选择打开程序. 使用 F9执行程序. 下断点: 1.对函数下下断点 在代码区右击--搜索--当前模块中的名称(ctrl+N),在跳出来的对话框中选择需要下的断点函数.-右击-查找导入参考(enter),按F2下断点.如果有多个地方调用了该函数就这样操作。 2.在需要的地方下断点 F2 添加注释: 在代码区第四列,右击--注释 查看内存地址 右击内存地址列--前往--输入要查看的内存地址 在函数lstrlen的注释的上方,有一个变量string,当执行到该函数的时候,string后面会出现lstrlen函数的参数字符串.在实际使用中一般是输入的字符串.(很好用哦) 类似的还有lstrcmp,上面有string1,string2能够显示将要比较的两个字符串. 另外,一般在执行getwindowtext等函数后,右边寄存器列,eax会显示函数的返回值,即取到的内容.同时内存中也会有显示. 在反汇编中选中一条命令,如果其中有用到内存中的地址,右击--在转存中跟随--直接常数 此时内存地址会显示指令中引用到的内存字符 拷贝功能十分强大.直接选择要拷贝的内容.右击--复制--文件or剪贴板 ollydbg的条件断点可以按寄存器,存储器,消息(必须是消息的数字,如wm_command就是111)等等设断,非常强大,一旦设了之后记录到文件中,下次restart程序还能用,不用拿笔记,很方便。 显示跳转路进: 选项--调试设置--cpu页--显示跳转的方向,显示跳转的路径,如果跳转没有实现则显示灰色路径。在cpu窗口中,机器码的前面显示符号.同时,在cpu窗口下的小缝中会显示跳转路径,从何跳转而来. 右击--前往...一般都是条件跳转,上面的内容就是比较的地方啦。:) 跟踪功能: 选项--调试跟踪--跟踪:设置运行跟踪的缓存大小.越大越好. 调试--打开或清除运行跟踪 然后我们就可以用CTRL+F11或CTRL+F12开启“跟踪进入”和“ 跟踪跳过”了。当我们暂停程序的时候,可以用小键盘上的“+”,“-”,“*”来控制跟踪功能了。 其中,“跟踪进入”和运行类似,但是记录所有指令以及寄存器变化。并且会自动进入所有的CALL中。 “ 跟踪跳过”和“跟踪进入”类似,但是不进入CALL “+”用来显示跟踪缓冲区中的下一条指令 “-”用来显示跟踪缓冲区中的上一条指令 “*”用来发返回当前指令 让OD显示MFC42.DLL中的函数 打开调试--选择导入库--添加--选择MFC43.LIB加入.重新载入MFC程序,就可以看到call后面的api函数了. 动态暂停以messagebox为例) 先运行目标程序,再运行od,选择文件--附加.在目标程序运行出现对话框时,切换至od,F12暂停. 字符串参考: 在汇编代码区,右击--搜索--字符参考 更改二进制文件: 方法1.查看--文件,打开文件,找到欲修改的偏移,使用机器码修改,然后右击保存文件.缺点是需要使用其他软件来获取偏移地址. 方法2.直接在反汇编代码区更改,这时可以使用汇编代码更改,不用记机器码.完了.右击--复制到可执行文件--保存文件.很是方便哪! 关于虚拟地址和偏移地址: ollydbg果然强大,太强大了,在欲修改的指令处右击--复制到可执行文件,弹出窗口中光标所在行即是欲修改的指令

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档