IDA Pro簡介
程式獵人翻譯
(譯者注:歡迎訪問程式獵人的主頁:http://programhunter.126.com)
物件:IDA Pro反彙編軟體
目標: N/A
URL: http://www.datarescue.com
作者: BlackB
日期: 2000-06-05
使用工具: Your brain
難度等級(級 1-5): 1
開始前
IDA Pro Avanced是一個極好的反彙編工具,它大的勝過了w32dasm。近來它的盜版已經在網上傳播開了,你可以很輕鬆得到它。對於這方面的觀點有如下幾種:一些人認為這是好的,是自由的;而另一些人認為是可恥的,那些認為是可恥的人通常是這個軟體的老使用者,事實上他們買了那個程式,如果你花了$500買了那個程式的話,你就可以理解他們的反應了。
對於讀者來說,你們做什麼不是我的問題及我所關心的。而我的觀點是如果認為非法的winzip軟體同IDA Pro 4.0x一樣好或壞。如果你使用非法的winzip,你就不應當使用非法的IDA
Pro。
I 介紹
幾天前我烈軍屬了一篇關於解密程式的教程,而這篇也是一個對於高效的,極好的IDA Pro 4.0x教程。通常菜鳥不喜歡,而高手又崇拜它。不喜歡的原因是因為IDA相對於w32dasm來說有更多的附加功能和作用,有更大的複雜性
在下面的教程中由於你過去可能喜歡使用w32dasm,我將盡力給出一個簡單和清楚的解釋來介紹如何使用IDA。也將試差回答"什麼是最好的反彙編?"這裡其實沒有一個簡單的回答。對於更多的高手來說可以讀這個:向菜鳥100%解釋IDA的使用過程。
II. IDA: 一個高效的反彙編工具
當你執行IDA Pro時,你所最先注意到的是它的介面比w32dasm更加專業,這裡比w32dasm有更多的選項或更先進的地方。它的優點是可以更好的反彙編和更有深層分析。而缺點是使用IDA更困難。
實際上IDA同w32dasm有很多相同的功能:可以快速到達指定的程式碼位置;可以看到跳到指定的位置的jmp的命令位置;可以看參考字串;可以儲存靜態彙編等。
現在讓我們執行和反彙編一個小程式(我使用starclean.exe)一個視窗彈出來,那裡有很多選項,不要動它,僅僅點選OK。讓IDA來分析,當它結束後在name的選項中同w32dasm中參考字串一樣,查詢"a"字元。在name視窗中搜尋欄中按a,然後開始查詢,一旦找到,按enter或雙擊它,它就將到達正確的位置。按ctrl+enter將到達下一個位置。參考字串就在游標附近。IDA就可以到達相應的位置了。
另一個同w32dasm相同的:jmp和call參考在IDA也是有效的。在w32dasm反彙編的程式碼同IDA中相同的。
程式碼開始(w32dasm)
*
Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00403B50(C)
| :00403B5F 81FAFC000000 cmp edx, 000000FC :00403B65 0F8478010000 je 00403CE3
:00403B6B 8D8424B4000000 lea eax, dword ptr [esp+000000B4] :00403B72 6804010000
push 00000104 :00403B77 50 push eax * Reference To: KERNEL32.GetModuleFileNameA,
Ord:00E9h | :00403B78 8B2D88924000 mov ebp, dword ptr [00409288] :00403B7E 6A00
push 00000000 :00403B80 FFD5 call ebp :00403B82 85C0 test eax, eax :00403B84 7516
jne 00403B9C * Possible StringData Ref from Data Obj ->"