IDA 5.2 插件開發

IDA 5.2 插件開發

建議下載附件查看該文檔,附件內包括完整的PDF文檔及演示代碼。
附加下載:
http://www.cisrg.cn/forum/thread-4757-1-1.html

Author:[email protected]
由於最近需要分析X64下的彙編代碼,於是準備使用之前的老辦法,基於圖形化的辦法來分析程序的流程,不過IDA5.2自身帶的圖形化對比工具實在不適合我的眼睛,之前的IDA圖形化插件是基於X86彙編代碼的分析,無法運行在IDA 64位平臺下,於是準備把X86平臺下的IDA圖形化插件移植到X64平臺下,在移植的過程中,遇到了若干小問題,正是因爲這些若干小問題的存在,導致了該文檔的出現;該文檔試圖比較完善的介紹下IDA5.2下32、64平臺下的IDA插件開發流程,希望對喜歡編寫IDA插件的朋友有所幫助。
該文檔內,使用的編譯器版本爲Visual Studio 2008英文版,相應的編譯選項設置也使用了英文。

1、IDA32 5.2 版插件開發

a)項目創建流程
i.打開VS2008,依次選擇File->New->Project;
ii.選擇Project types選項列表內的Win32選項,選擇Templates選項列表內的Win32 Project選項;
iii.輸入項目名稱,選擇好自己喜歡的創建項目的方式,點擊OK按鈕;
iv.在Application Settings選項卡內,選擇Windows application,選擇Empty project,點擊Finish;
v.新建一個cpp文件,用於後面的例子實現;
vi.依次選擇Project->Your project name Properties,打開Property Pages;
vii.選擇Configuration Properties下的General選項,選擇右側列表內Configuration type選項卡,選擇Dynamic Library (.dll);
viii.選擇C/C++下的General選項,添加Additional Include Directories選項,選擇IDA SDK include所在的目錄即可,也可填寫相對路徑;
ix.選擇Preprocessor,添加(;__NT__;__IDP__)至Preprocessor Definitions選項內;
x.選擇Advanced選項,修改Calling Convention選項爲__stdcall (/Gz);
xi.選擇Linker選項,修改右側選項卡的Output File內的後綴名爲.plw,添加Additional Library Directories爲IDA的Lib庫路徑;
xii.選擇Linker選項下的Input,添加ida.lib到Additional Dependencies選項內;
xiii.    選擇Linker下Command line選項,添加/EXPORT:PLUGIN到Additional options內;
xiv.    書寫IDA代碼後,編譯項目,IDA例子代碼可見附件。

b)Example
見附件內PDF文檔


2、IDA64 5.2 版插件開發
要編譯上述IDA32平臺下的插件支持IDA 64平臺,只需修改兩處編譯選項即可,具體修改選項步驟如下。
a)修改Preprocessor,添加(;__NT__;__IDP__;MAXSTR=1024;__EA64__)至Preprocessor Definitions選項內;
b)修改Linker選項,修改右側選項卡的Output File內的後綴名爲.p64,添加Additional Library Directories爲IDA64的Lib庫路徑;
c)編譯運行。
3、總結
該文檔通過具體的步驟描述IDA32、IDA64平臺下的插件編寫步驟,在實際測試過程中,均驗證通過,如有任何問題,請糾正。
Email:[email protected]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章