OllyDbg插件开发入门知识.docx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 10 OllyDbg 插件开发入门 0.11 版 目 录 前言 2 一、前期准备 3 1、OllyDbg 插件工作原理 3 从 OllyDbg 的角度 3 从插件的角度 3 2、学习建议 4 3、开发资源与环境 4 4、必要的设置 5 Visual C++中的设置 5 C++程序中的设置 5 二、常用函数 6 1、回调函数 6 必须的回调函数 6 可选的回调函数 8 2、插件函数 12 (1)注册窗口类 12 (2).ini 文件交互 13 (3)查询系统信息 13 (4).udd 文件交互 14 3、其他函数 14 三、实例分析 15 1、Hello,world 15 2、Command 18 3、Bookmark 28 参考文献 43 好的开始,是成功的一半。 一、 前期准备 1、OllyDbg 插件工作原理 OllyDbg 是一款优秀的用户态调试工具。它不仅拥有强大的反汇编能力和动态分析能力, 还具有良好的扩展结构,允许用户自行开发插件完成特定的工作。 在开发插件之前,需要大致了解插件在 OllyDbg 中工作的方式。 插件以单独的动态链接库(DLL)文件的形式提供给 OllyDbg 使用。在OllyDbg 主菜单中,依次选择:选项→界面→目录,就可以看到插件路径。一般情况下,我们在 OllyDbg.exe 所在目录下建立名为 plugin 的子目录,并在上述插件路径中填入该子目录的绝对路径。(请注意,如果这里的值是形如./plugin/的相对路径,插件往往不能正常地工作。) OllyDbg 与插件是如何交互完成工作的?可以从两个方面来看这个问题。 从 OllyDbg 的角度 在 OllyDbg 的启动过程中,有一步是检查插件路径下是否存在 DLL 文件。如果存在, 逐一进行如下扫描: 加载该 DLL 文件,找到其入口点 通过回调函数,获取插件名称、版本等信息 通过回调函数,对插件进行初始化,包括申请资源、恢复全局参数等 如果某个 DLL 文件无法顺利执行这三步,OllyDbg 的启动将失败、报错并退出。 OllyDbg 启动以后,会一直维护插件的队列,并在以下情况(但不仅限于这些情况)出现时向该队列发送消息,或者直接调用插件中定义的函数: 用户通过插件菜单或快捷键主动执行插件某功能 正在调试的程序状态发生改变,例如载入、运行、暂停、结束、重启等 系统自身的启动、关闭 系统收到无法识别的消息(比如组合键) 系统在配置文件中发现无法识别的数据 最后,当 OllyDbg 被关闭时,还会调用插件中的回调函数,释放插件申请到的资源,并将需要保存的参数、配置和附加信息分别予以保存。 从插件的角度 插件的工作可以分为以下几类: 搜集和整理调试过程中的信息供用户参考 增加一些辅助信息让调试更加方便 直接参与调试 通过加载脚本程序,将一部分行为自动化 因此,插件既需要从 OllyDbg 中获取各种信息,又需要对 OllyDbg 进行各种操作。插件通过调用 OllyDbg Plugin API 来做到这些。 另外,插件也可以有自己的窗口逻辑和功能函数。事实上,我们可以将它看成这样一个Windows 程序,它拥有自己的消息循环和窗口过程,但它的启动是由 OllyDbg 发起的,具体功能的实现也通过调用 OllyDbg 提供的函数来实现。通过本文后面的部分,这一认识将会愈加清晰。 2、学习建议 在学习开发 OllyDbg 插件的过程中,你也许会用到: 一些 Win32 窗口程序开发的知识和经验 对 OllyDbg 功能的基本了解 简单的汇编语言知识 现在假定你已经具备了上述能力,下文的叙述将以此为基础。 如果你已经有了其他软件的插件开发经验,并有一定的英文阅读能力,请扔掉这份文档, 直接阅读 OllyDbg Plugin API 手册和实例源代码。 反之,建议先阅读本文档,并实际动手操作;然后下载更多的插件源代码,边阅读边查阅 API 手册;最后,动手写自己的插件。 3、开发资源与环境 为了开发 OllyDbg 插件,首先需要获取插件开发包。下载地址是: \h http://www.ollydbg.de/plug110.zip 这一开发包是针对 OllyDbg 1.10 版的。虽然目前 OllyDbg 必威体育精装版版是 2.0,但作者已经表明, 1.10 版是支持自主开发插件的最后一个版本。在这个开发包中,最重要的文件有三个: Plugins.hlp 开发文档,详细定义了所有提供的 API Plugin.h API 定义的头文件 Ollydbg.lib 导入库文件 此外,作者还提供了两个插件的代码作为示范,一个是命令行插件

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档