我想编写一个ollydbg v1.10版本的插件。点击菜单能跳转到00401000地址
时间: 2024-02-12 17:09:22 浏览: 164
好的,编写 OllyDbg 插件可以使用 C/C++ 或者 Delphi 进行开发。以下是一个简单的示例插件,可以在菜单中添加一个选项,点击该选项可以跳转到指定地址:
```
#include <windows.h>
#include "plugin.h"
#include "ollydbg.h"
#define PLUGIN_NAME "JumpToAddress"
int pluginHandle;
HWND hwndDlg;
// 菜单项的回调函数
void JumpToAddress()
{
DWORD address = 0x00401000; // 这里设置要跳转的地址
SetCPUWindow(address); // 调用 OllyDbg API 跳转到指定地址
}
// 初始化插件
int InitPlugin(int ollydbgVersion, HWND hwMainwindow)
{
// 添加菜单项
int hMenu = GetMenu(hwMainwindow);
AppendMenu(hMenu, MF_STRING, pluginHandle, "&Jump to 00401000");
return 0;
}
// 卸载插件
int StopPlugin()
{
// 删除菜单项
int hMenu = GetMenu(hwMainwindow);
DeleteMenu(hMenu, pluginHandle, MF_BYCOMMAND);
return 0;
}
// 插件入口函数
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
pluginHandle = Registerplugin(PLUGIN_NAME, // 插件名称
PLUGIN_VERSION, // 插件版本
PLUGIN_MODULNAME, // 插件模块名称
InitPlugin, // 初始化函数
StopPlugin); // 卸载函数
break;
case DLL_PROCESS_DETACH:
Unregisterplugin(pluginHandle);
break;
}
return TRUE;
}
```
请将上面的代码保存为 .cpp 或 .c 文件,然后使用 OllyDbg 自带的编译器编译生成 .dll 文件即可。将生成的 .dll 文件放置在 OllyDbg 的 Plugins 目录下,然后启动 OllyDbg,插件将自动加载。当你点击菜单中的 Jump to 00401000 选项时,它将跳转到指定的地址。
阅读全文
相关推荐
















