IDA pro使用筆記之資料顯示視窗

2021-08-25 05:10:58 字數 1865 閱讀 6197

#反彙編視窗:圖形檢視和列表檢視;在反彙編視窗中使用空格鍵切換

options->general->use graph view by default更改檢視

#圖形檢視:將乙個函式分解為許多基本塊,顯示該函式由乙個塊到另乙個塊的控制流程。

(基本塊是乙個不包含分支,從頭執行到尾的最大指令序列。因此,每乙個基本塊都有唯一的入口點(塊中的第一條指令)和退出點(塊中的最後一條指令)。基本塊中的第一條指令通常是分支指令的目標,而最後一條指令則往往是一條分支指令。

*使用不同的彩色箭頭區分函式塊之間各種型別的流。在條件跳轉位置終止的基本塊可能會生成兩種流:yes(綠);no(紅)

*在後乙個塊的開始位置終止的基本塊會利用乙個正常邊(預設藍色)指向下乙個即將執行的塊。

*ctrl+『+』可放大圖形,同理ctrl+『-』縮小。

*大型或複雜函式可使用graph overview 圖形概況檢視

*控制圖形檢視的顯示方式:

平移重新調整塊:拖動、shift雙擊在該位置新增新頂點、還原預設圖形布局layout graph

分組和摺疊塊 group nodes

建立其他反彙編視窗:view->open subviews ->disassembly 可同時檢視兩個不同函式的圖形

*想要圖形檢視顯示每個彙編行有關的全部資訊通過options->general->ida常規選項->disassembly選項卡的可用的反彙編行部分選擇相應選項(例如要新增虛擬位址可以啟用:行字首)

#names視窗

簡要列舉了乙個二進位制檔案的所有全域性名稱。名稱是指對乙個程式虛擬位址的符號描述。在最初載入檔案的過程中,ida會根據符號表和簽名分析派生出名稱列表。名稱可以按字母排序,也可按虛擬位址排序

可通過names視窗迅速導航到程式列表中的已知位置。雙擊名稱可跳轉到顯示該名稱的反彙編檢視。

採用顏色和字母編碼:

f:常規函式,ida認為這些函式不屬於庫函式

l:庫函式

i:匯入的名稱

g:命名**

d:資料

a:字串資料

在對乙個程式進行反彙編時,ida會為所有直接作為**(分支或呼叫目標)或資料(讀取的、寫入的或使用的位址)引用的位置生成名稱。

如果乙個位置已在程式符號表中命名,ida將採用該名稱。如果符號表中某一程式位置沒有名稱,則ida會生成乙個預設的名稱,以在反彙編的過程中使用。在ida給某個位置命名時,他會使用該位置的虛擬位址和乙個表示位置的型別的字首進行命名。

將虛擬位址合併到生成的名稱中,可確保生成的所有名稱的唯一性,因為沒有兩個位置的虛擬位址是相同的,這種自動生成的名稱並不在names視窗中顯示。用於自動生成名稱的一些常用字首包括以下一些:

sub_******:位址******處的子例程

loc_******:位址******處的乙個指令

byte_******:位址******處的8位資料

word_******:位址******處的16位資料

dword_******:位址******處的32位資料

unk_******:位址******處的大小未知的資料

#訊息視窗

#string視窗

view->open subviews->string

string視窗中顯示的是從二進位制檔案中提取出的一組字串,以及每個字串所在的位址。雙擊任何字串,反彙編視窗將跳轉到該字串所在的位址。ida並不會永久儲存它從二進位制檔案中提取出的字串,因此,每次開啟string視窗,ida都會掃瞄

或重新掃瞄整個資料庫,查詢其中的字串

*右鍵->setup 指定ida應掃瞄的字串型別

display only defined strings僅顯示已定義的字串

ignore instructions/data definitions忽略指令/資料定義

python小白之list使用筆記

list常見用法 i array 4.2.print i newaxis 將原本在乙個列表裡的兩個數拆為兩個不同列表裡 num 1,2,3 name wu wang zhao people num name print people num.extend name num len num len n...

Vim 使用筆記

set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...

xemacs使用筆記

xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...