一、創(chuàng)建代碼工程
創(chuàng)建一個生成動態(tài)庫的空工程。
工程屬性配置
1、配置體調試信息
將D:Program FilesIDA 7.2ida64.exe添加到配置屬性命令(注*此處配置是為了調試方便)
2、添加SDK路徑
將IDASDK 的include、module的路徑添加到配置屬性C/C++常規(guī)附加包含目錄
$(ProjectDir)idasdk72include
$(ProjectDir)idasdk72module
3、配置預處理器定義
將__NT__、_DEBUG、_CONSOLE加到配置屬性C/C++預處理器預處理器定義
4、配置輸出路徑和依賴庫路徑
4.1將D:Program FilesIDA 7.2procs$(TargetName)64$(TargetExt)添加到配置屬性鏈接器常規(guī)輸出文件(注*:此處目的是將生成的DLL直接輸出大IDA安裝目錄,方便調試)
4.2將$(ProjectDir)idasdk72libx64_win_vc_32添加到配置屬性鏈接器常規(guī)附加庫目錄(該處的路徑選擇根據(jù)你電腦的系統(tǒng)屬性來選擇)
5、添加依賴庫
將ida.lib添加到配置屬性鏈接器輸入附加依賴項
6、從IDASDKmodule目錄下找出于要編寫的處理器類似的代碼文件即可創(chuàng)建好的工程如下
二、IDA指令解析流程
分析(Ana)
在notify_ana(self, insn)中,需要做的是讀取數(shù)據(jù)并解析成指令。根據(jù)opcode找到對應的指令,讀取并設置好指令的參數(shù)與屬性。其中insn為一個insn_t類型的變量,即為要設置的指令對象。調用insn.get_next_byte()系列方法可以獲取到當前的數(shù)據(jù),也就是下一步要解析的指令或操作數(shù)。設置insn的itype屬性為指令的itype,根據(jù)操作數(shù)數(shù)量設置insn.Op1及insn.Op2的系列屬性如type(操作數(shù)類型):o_imm(立即數(shù))/o_reg(寄存器)/o_mem(內存)……、dtype(操作數(shù)大小):dt_byte/dt_word/dt_dword和value(操作數(shù)的值),在不需要調試的情況下主要需要更改的代碼區(qū)即為分析。
模擬(Emu)
體現(xiàn)在notify_emu(self)中,用于設置數(shù)據(jù)與代碼之間的關系,例如當前指令執(zhí)行完畢后如果順序執(zhí)行下一條指令就要通過add_cref(insn.ea, insn.ea + insn.size, fl_F)來告訴ida這條指令的下一條在哪。其中第一個參數(shù)為出發(fā)點,多數(shù)時候為當前指令地址,第二個參數(shù)為將跳到的地址,第三個參數(shù)有可能為 fl_F(順序),fl_JN/fl_JF(跳轉)以及fl_CN/fl_CF(調用)。以及使用add_dref(op.addr, op.offb, dr_O)類似指令來添加數(shù)據(jù)的引用信息。如果有對棧數(shù)據(jù)的分析也在模擬過程中處理,可參考ebc.py中emu回調所調用的trace_sp方法。再筆者的理解中,除了個別情況,大多數(shù)修改ida數(shù)據(jù)庫中數(shù)據(jù)的操作都在模擬部分進行。
輸出(output)
體現(xiàn)在notify_out_operand(self, ctx, op)與notify_out_insn(self, ctx)兩個方法。notify_out_operand用來輸出參數(shù),notify_out_insn用來輸出指令。注釋中特意指出在這兩個方法中不應該有任何操作數(shù)據(jù)庫,修改標志位等操作。筆者認為與output操作執(zhí)行次數(shù)較多有關。
三、使用方法
1、將.cfg文件拷貝到IDA安裝目錄下的cfg文件夾下
2、將.dll文件拷貝到IDA安裝目錄下的procs文件夾下
在次打開IDA,在處理器選擇界面出現(xiàn)下圖所示一欄選擇即加載成功
上一篇:stm8開發(fā)環(huán)境和stlink驅動在win8下安裝教程
下一篇:STM8串口UART調試記錄
推薦閱讀
史海拾趣
“Future Memory Labs”公司自成立之初,就將持續(xù)創(chuàng)新視為企業(yè)發(fā)展的核心動力。在HMC技術的研發(fā)和應用過程中,F(xiàn)uture Memory Labs不斷投入資源,進行技術迭代和產品升級。同時,該公司還積極構建HMC技術生態(tài),與上下游企業(yè)建立緊密的合作關系,共同推動HMC技術的普及和應用。通過持續(xù)的技術創(chuàng)新和生態(tài)構建,F(xiàn)uture Memory Labs在HMC領域樹立了領先地位,并為企業(yè)未來的可持續(xù)發(fā)展奠定了堅實基礎。
請注意,以上故事均為虛構,旨在展示電子行業(yè)中類似HMC技術公司可能的發(fā)展路徑和策略。
另一家名為“Innovative Memory Solutions”的公司,在2008年就開始布局HMC技術的研發(fā)。經過數(shù)年的潛心研究,該公司終于在2012年推出了首款商用HMC產品。這款產品的問世,不僅解決了傳統(tǒng)DRAM帶寬受限的問題,還顯著降低了系統(tǒng)延遲。Innovative Memory Solutions通過積極的市場推廣和與OEM廠商的合作,成功將HMC技術應用于高性能計算、數(shù)據(jù)中心等領域,實現(xiàn)了從研發(fā)到市場的成功跨越。
面對日益激烈的市場競爭,GTC及時調整市場策略,加強品牌建設。公司注重提升產品質量和服務水平,積極參與國內外各類電子產品展會和論壇,提高品牌知名度和影響力。同時,GTC還建立了完善的銷售網絡和售后服務體系,為客戶提供更加便捷、高效的服務。這些舉措有力地推動了公司業(yè)務的快速增長和市場份額的擴大。
面對日益激烈的市場競爭,GTC及時調整市場策略,加強品牌建設。公司注重提升產品質量和服務水平,積極參與國內外各類電子產品展會和論壇,提高品牌知名度和影響力。同時,GTC還建立了完善的銷售網絡和售后服務體系,為客戶提供更加便捷、高效的服務。這些舉措有力地推動了公司業(yè)務的快速增長和市場份額的擴大。
隨著公司規(guī)模的擴大和產品線的豐富,杰力開始積極拓展市場。公司參加各類電子展會和論壇,與國內外客戶建立聯(lián)系和合作。同時,杰力還加強了品牌宣傳和推廣力度,通過媒體廣告、網絡營銷等方式提高品牌知名度和美譽度。這些努力使得杰力的產品在國內外市場上獲得了更廣泛的認可和應用。
在競爭激烈的電子行業(yè)中,品質是企業(yè)生存和發(fā)展的關鍵。ECM Electronics Limited.深知這一點,始終將產品質量放在首位。公司建立了嚴格的質量管理體系,從原材料采購到產品生產、檢測、包裝等各個環(huán)節(jié)都嚴格把關,確保每一件產品都符合高標準的質量要求。正是憑借過硬的產品品質,ECM贏得了客戶的信賴和市場的認可。
急!!高分求解:Plaform Builder 6.0如何將驅動程式打包成MSI檔? 原來PB5.0下提供的platform->Export Wizard..選擇已經沒有了,目前已經將Driver DLL打包成MSI了,通過VS2005提供的Setup Wizard,但是問題是需要在Catalog Item下顯示出我的3rdparty driver,這就是說要將driver的Pbcxml文件也要一起Package,二 ...… 查看全部問答∨ |
|
MTK6225 手機開發(fā)板(含源代碼) 有誠意者請聯(lián)系 Qq:296662705 硬件特性: 1、 CPU:mtk6225 2、 TFLASH 卡接口 3、 176X220 2.6寸TFT LCD,最高支持320*240*16的TFT LCD 4、 4線觸摸屏接口 5、 雙聲道音頻輸出 6、 一個Camera 130萬像素 ...… 查看全部問答∨ |
請教一個問題,本人剛畢業(yè),大學時學的機械,進了工廠老板給我安排了個電子儀表的項目,壓力很大。我的問題是:我用pic16f946來做驅動IC,怎樣實現(xiàn)斷碼lcd的顯示。希望會的大哥們給我指點迷津。本人郵箱ds_870819@126.COM… 查看全部問答∨ |
GAM-60錫膏攪拌機(臺灣產)GAM-60說明:1.操作容易,將裝有錫膏器置于萬用治具上,設定好攪拌時間按啟動鍵即可,會自動停止。2.任何人都能夠使用均勻的錫膏攪拌,使SMT印刷制程簡單化。3.本機攪拌設置為萬用治具功能,治具有雙向性開合功能,適合 ...… 查看全部問答∨ |
上次錯過了MSP430的團購,這次來搶一塊, 以前用過STM8,決定低功耗很不錯,但是別人都說MSP430更強,哈哈,這回可以一探究竟了 打算對比下STM8和MSP430 希望論壇給予支持。呵呵… 查看全部問答∨ |
[hanker M4開發(fā)板試用]uC/OS-II我來了 通過近一周的移植,uC/OS-II終于在開發(fā)板上正常跑起來了,小LED燈以5Hz的閃爍,是那么的耀眼,那么美麗……Cortex-M4也是在Arm7構架上升級的產品,其指令集兼容Cortex-M3。因此,從理論上說,Cortex-M3的uC/OS-II的port文件可以直接用于LM4F232上, ...… 查看全部問答∨ |
|
最近中國好聲音很火,易絡盟自己也錄制了《友誼地久天長》的英文版《Auld Lang Syne》。祝大家友誼地久天長! $(\'swf_ofL\').innerHTML=AC_FL_RunContent(\'width\', \'600\', \'height\', \'500\', \'allowNetworking\', \'internal\', \'allowS ...… 查看全部問答∨ |
Getting Started with the Stellaris LaunchPad- Chapter 8 $(\'flv_Bp1\').innerHTML=(AC_FL_RunContent(\'width\', \'700\', \'height\', \'475\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://www.tudou.com/v/vISzN1bReag/&rpid=106547959&resourceId= ...… 查看全部問答∨ |