反彙編神器IDA Pro 7.7.220118 (SP1)免安裝漢化版
IDA是Windwos下衆多調試器工具中頗受歡迎的一種。IDA Pro首先是一個反彙編器,可以顯示二進制彙編碼(可執行文件或DLL(Dynamic Link Library),動態鏈接庫),它提供的某些高級功能使我們更容易理解彙編代碼。其次,它又是一個調試器,用戶可以逐條調試二進制文件中的指令
截圖 共 4 張
模組介紹 作者原文
官網地址:
52地址:
漢化:丨南宮丨紫
介紹
IDA Pro(簡稱IDA)是DataRescue公司(home of PhotoRescue, data recovery solution for flash memory cards)出品的一款交互式反彙編工具,它功能強大、操作複雜,要完全掌握它,需要很多知識。IDA最主要的特性是交互和多處理器。操作者可以通過對IDA的交互來指導IDA更好地反彙編,IDA並不自動解決程序中的問題,但它會按用戶的指令找到可疑之處,用戶的工作是通知IDA怎樣去做。比如人工指定編譯器類型,對變量名、結構定義、數組等定義等。這樣的交互能力在反彙編大型軟件時顯得尤爲重要。多處理器特點是指IDA支持常見處理器平臺上的軟件產品。IDA支持的文件類型非常豐富,除了常見的PE格式,還支持Windows,DOS,UNIX,Mac,Java,.NET等平臺的文件格式。
IDA是Windwos下衆多調試器工具中頗受歡迎的一種。IDA Pro首先是一個反彙編器,可以顯示二進制彙編碼(可執行文件或DLL(Dynamic Link Library),動態鏈接庫),它提供的某些高級功能使我們更容易理解彙編代碼。其次,它又是一個調試器,用戶可以逐條調試二進制文件中的指令,從而確定正在執行哪條指令,以及執行的順序等。
----
常用快捷鍵
| 快捷鍵 | 功能說明 |
| ------------ | ------------ |
| Enter | 跟進函數實現,查看標號對應的地址 |
| Esc | 返回跟進處 |
| A | 解釋光標處的地址爲一個字符串的首地址 |
| B | 十六進制與二進制數轉換 |
| C | 解釋光標處的地址爲一條指令 |
| D | 解釋光標處的地址爲數據,每按一次將會轉換這個地址的數據長度 |
| G | 快速查找對應地址 |
| H | 十六進制與十進制數轉換 |
| K | 將數據解釋爲棧變量 |
|: | 添加註釋 |
| M | 解釋爲枚舉成員 |
| N | 重新命名 |
| O | 解釋地址爲數據段偏移量,用於字符串標號 |
| T | 解釋數據爲一個結構體成員 |
| X | 轉換視圖到交叉參考模式 |
| Shift + F9 | 添加結構體 |
| 空格 | 切換文本視圖與圖表視圖 |
| ALT + M | 添加標籤 |
| CTRL + M | 查看標籤 |
| CTRL + S | 查看段的信息 |
| 冒號 | 常規註釋 |
| 分號 | 註釋,優先級比冒號低,即存在冒號註釋的時候會覆蓋顯示 |
| F5 | 查看僞代碼 |
| ALT + T | 搜索字符串 |
| Ctrl + T | 搜索下一個 |
| ALT + B | 搜索十六進制 |
| X | 查看交叉引用 |
| SHIFT + F12 | 打開strings窗口 |
| Y | 修改數據類型 |
| N | 修改變量名以及參數名 |
| CTRL + F12 | 函數調用圖 |
| F12 | 流程圖 |
| Ctrl + F9 | 導入c頭文件 |
----
彙編指令
資料轉移指令
- MOV 移動
- MOVC 程式記憶體移動
- MOVX 外部RAM和擴展I/O口與累加器A的數據傳送指令
- PUSH 放入堆疊
- POP 由堆疊取回
- XCH 8位元交換
- XCHD 低4位元交換
- SWAP 高低4位元交換
算術指令
- ADD 兩數相加
- ADDC 兩數相加再加C
- SUBB 兩數相減再減C
- INC 加一指令
- DEC 減一指令
- MUL (MUL AB乘法指令僅此一條)相乘指令,所得的16位二進制數低8位存累加器A高8位存B
- DIV (DIV AB 除法指令僅此一條)相除指令,所得商存A,餘數存B
- DA (DA A 只此一條指令)調整爲十進數
邏輯指令
- ANL做AND(邏輯與)運算
- ORL做OR(邏輯或)運算
- XRL 做(邏輯異或)運算
- CLR 清除爲0
- CPL 取反指令
- RL 不帶進位左環移
- RLC 帶進位左環移
- RR 不帶進位右環移
- RRC 帶進位右環移
控制轉移類指令
- JC C=1時跳
- JNC C=0時跳
- JB 位元=1時跳
- JNB 位元=0時跳
- JBC 位元=1時跳且清除此位元
- LCALL 長調用子程序
- ACALL 絕對調用子程序
- RET 由副程式返回
- RETI 由中斷副程式返回
- AJMP 絕對轉移
- SJMP 相對轉移
- JMP @A+DPTR 散轉,相對DPTR的間接轉移
- JZ A=0時跳
- JNZA 0時跳
- CJNE 二數比較,不相等時跳
- DJNZ 減一,不等於0時跳
- NOP 空操作
位變量指令
- SETB 設定爲1
- ORG 程序開始,規定程序的起始地址
- END 程序結束
- EQU 等值指令(先賦值後使用)例:SUM EQU 30H
- DB 定義字節指令
- DW 定義字內容
- DS 定義保留一定的存貯單元數目
- BIT 位地址符號指令 例:SAM BIT P1.0
- RET 子程序返回指令
- RETI 中斷子程序返回指令
- $ 本條指令地址
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。