|
看到论坛上面有些朋友不会写OD插件,因此写个例子
其它很容易, 下载 OD 的 Plugin.h 与 OLLYDBG.LIB 加到入工程,然后写好几个导出函数就可以了
主要的导出函数是
extc int _export cdecl ODBG_Plugindata(char shortname[32])
{
strcpy(shortname, "jeinPlug(插件名称)");
return PLUGIN_VERSION;
}
extc int ODBG_Plugininit(int ollydbgversion,HWND hw,ulong *features)
{
_Addtolist(0 ,0, "Test Vision");
_Addtolist(0, -1, "Copyright (C) 2004-2005 jein");
return 0;
}
看名字也能明白大概意思,初始化的代码可以放在这里
退出函数是,卸载代码写在这里
//close
extc int _export cdecl ODBG_Pluginclose(void)
{
return 0;
}
//destroy
extc void _export cdecl ODBG_Plugindestroy(void)
{
}
这个就跟 MFC 里面的 close ,destroy 消息差不多
写完这个,插件大体就完成了,OD加载时,就会自动加载你的Dll 工作了,
不过,如果功能比较多的话.就要菜单了
//菜单加载
extc int _export cdecl ODBG_Pluginmenu(int origin, char data[4096], void *item)
详细的看源码吧,(希望大家开发出功能强大的插件)
|
|