关闭

OllyDbg完全教程 插件[Plugins]

标签: pluginsdlldebugging汇编数据结构internet
6746人阅读 评论(0) 收藏 举报
分类:
插件[Plugins]

插件是一个DLL,存放在OllyDbg的目录中,用于增加 OllyDbg 的功能。您可以从 OllyDbg 的主页上(http://home.t-online.de/home/Ollydbg)免费下载插件开发工具包
plug110.zip。

插件可以设置断点,增加标签和注释,修改寄存器和内存。插件可以添加到主菜单和很多的窗口(比如反汇编窗口、内存窗口)的快捷菜单中,也可以拦截快捷键。插件还可以创建MDI(多文档界面)窗口。插件还可以根据模块信息和OllyDbg.ini文件,将自己数据写到.udd文件中;并能读取描述被调试程序的各种数据结构。插件API包含了多达170
个函数。

许多第三方插件都可以从Internet网上获得,比如由网友TBD创建并维护的OllyDbg的论坛(http://ollydbg.win32asmcommunity.net)。

安装插件的方法:将DLL复制到插件目录[plugin directory]中,然后重新启动Ollydbg。默认情况下,这个插件目录为ollydbg.exe文件所在的目录。

现在的版本中已经包含了两个“原始”插件: 书签[Bookmark] and 命令行[Command line]. 他们的源代码都保存在plug110.zip.文件中。这些插件都是免费的,您可以任意修改或使用它们。

技巧提示[Tips and tricks]

?OllyDbg 可以作为二进制编辑器使用。选择视图[View]→文件[File]并选定需要查看的文件。文件不能大于剩余内存数量。

?假使您修改了内存中的执行文件,这时您想恢复修改的部分,但是您忘记哪里被修改了,您可以把原始文件当作备份进行加载,这样您就可以找到修改的部分了。

分析前,先扫描 OBJ 文件。这时 OllyDbg 会对已知 C 函数的参数进行解码。

一些表格中包含了隐藏数据。可以通过增加列宽来显示出来。

所有数据窗口(包括反汇编窗口),可以通过双击显示相对的地址。

您可以通过 Ctrl +↑ 或 Ctrl+↓ 对数据窗口翻动一个字节。

调试独立的DLL[Debugging of stand-alone DLLs]

打开DLL,也可以直接将其从资源管理器拖放到 OllyDbg 上。OllyDbg 会询问您并将该文件的全路径作为参数传递给loaddll.exe.。然后链接库被加载并停在代码的入口(
<DllEntryPoint>)。您可以设置断点,运行或跟踪启动代码,等等。在初始化完成后,应该程序会再次暂停。这次停在标签名为 Firstbp 的位置,其在立即进入主消息循环之前。


现在,您可以调用DLL函数。从主菜单选择“调试[Debug]|调用DLL输出[Call DLL export]”。这时会弹出一个对话框。由于这个对话框是无模式对话框,因此您仍然能够使用OllyDbg的全部功能,比如查看代码、数据,查看断点,修改内存等等。
选择您想调用的函数。例如我们将开始使用 USER32.DLL 里的MessageBox 函数。注意loaddll.exe 已经使用了这个链接库,因此会假定这个 DLL 已经初始化而不再调用入口。MessageBox 这个函数名是通用函数名,实事上,这个函数有处理 ASCII 的 MessageBoxA 和处理 Unicode 的MessageBoxW 两种。我们继续往下看:


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:108270次
    • 积分:1274
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:33篇
    • 译文:0篇
    • 评论:6条
    最新评论