Ollydbg 2.01 alpha 4 不支持舊版插件的原因
簡略的閱讀了插件頭文件plugin和插件例子Bookmark之後,不支持舊版插件的原因如下:一.Ollydbg 2.01版僅支持UNICODE編譯的插件.
以vc++ 6.0為例,在工程-設置-C/C++窗口預處理程序定義中刪除_MBCS,並且添加上UNICODE和_UNICODE,否則編譯過程中會出現如下錯誤:
"This version must be compiled with UNICODE on"
二.Plugin輸出接口的改變.
開發過OD插件的朋友都知道,在OD舊版插件中我們必須導出一下幾個函數:
extc int_export cdecl ODBG_Plugindata(char shortname);
extc int_export cdecl ODBG_Plugininit(int ollydbgversion,HWND hw,
ulong *features);
extc void _export cdecl ODBG_Pluginmainloop(DEBUG_EVENT *debugevent);
在Ollydbg 2.01版不支持舊版的最大原因就是接口的改變,這些以ODBG_為前綴的關鍵函數改變為ODBG2_:
pentry (int) ODBG2_Pluginquery(int ollydbgversion,
wchar_t pluginname,
wchar_t pluginversion);
pentry (void) ODBG2_Pluginanalyse(t_module *pmod);
#ifdef DEBUG_EVENT // Requires <winnt.h>
pentry (void) ODBG2_Pluginmainloop(DEBUG_EVENT *debugevent);
#endif
初始化函數從原來的ODBG_Plugininit改變為ODBG2_Pluginquery,反彙編查看舊版插件你就會發現這些函數名的字節大都在一起的,如果想直接修改函數名來達到新版比較麻煩,比如新版Script插件的函數名如下:
.rdata:10033213 a_odbg_pausedex db '_ODBG_Pausedex',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:10033222 a_odbg_pluginac db '_ODBG_Pluginaction',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:10033235 a_odbg_plugincl db '_ODBG_Pluginclose',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:10033247 a_odbg_plugincm db '_ODBG_Plugincmd',0; DATA XREF: .rdata:off_1003319Co
.rdata:10033257 a_odbg_pluginda db '_ODBG_Plugindata',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:10033268 a_odbg_pluginde db '_ODBG_Plugindestroy',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:1003327C a_odbg_pluginin db '_ODBG_Plugininit',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:1003328D a_odbg_pluginma db '_ODBG_Pluginmainloop',0
.rdata:1003328D ; DATA XREF: .rdata:off_1003319Co
.rdata:100332A2 a_odbg_pluginme db '_ODBG_Pluginmenu',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:100332B3 a_odbg_pluginre db '_ODBG_Pluginreset',0 ; DATA XREF: .rdata:off_1003319Co
.rdata:100332C5 a_odbg_pluginsh db '_ODBG_Pluginshortcut',0
直接修改前綴_ODBG到_ODBG2字節數增加,原本空間不夠,不過還是還是有修改的辦法,修改輸出函數名得偏移量,增大空間使得夠字節修改這些函數名.
這兩個原因是新版OD不支持舊版插件的主要原因,當然還有其他,比如插件版本號升級到"2.00.00" 等等,這個還需要你進行發掘.
原帖地址:http://0mblogger.blogspot.com/2011/08/ollydbg-201-alpha-4_09.html
顶一个、最新的OD.如果是我就下 这才明白为啥原因谢谢指导 大牛说的就是看不懂 楼主辛苦。。。这个要支持。。。 楼主辛苦。。。这个要支持。。。
页:
[1]