6.IDA-重命名、注释
由于IDA基礎數據庫的本質,你對反匯編代碼所做的更改將迅速“擴散”到IDA的所有子窗口中,以使反匯編代碼保持一致
說明
記住,IDA不提供撤銷功能。在操縱數據庫時,請一定記住這一點。你所能做的,就是經常保存數據庫,并恢復到最近保存的數據庫版本。
?
1.改名
多數情況下,要修改一個名稱,只需單擊你希望修改的名稱(使其突出顯示),并使用熱鍵N打開更名對話框。另外,右擊需要修改的名稱,并在出現的上下文菜單中選擇Rename選項,也可以更改名稱
1.1.參數和局部變量
此類重命名只和當前函數相關,如果希望恢復某個變量的默認名稱,打開更名對話框,在輸入框中輸入一個空白名稱,IDA將為你生成默認的名稱
1.2.已命名的位置
重命名一個已命名的位置或給一個未命名的位置取名,這個過程與修改棧變量的名稱略有不同,如對函數名重命名
Local names(局部名稱):
局部名稱的作用域僅限于當前函數,兩個不同的函數可能含有完全相同的局部名稱,但一個函數不可能包含兩個完全相同的局部名稱。在函數邊界以外的已命名的位置不能被指定為局部名稱,這包括表示函數及全局變量的名稱。局部名稱最常用于為函數中的跳轉目標提供符號名稱,如那些與分支控制結構有關的名稱。
簡潔點,在函數內設置一個跳轉標簽:
Include in names list(包含在名稱列表中):
選擇這個選項將有一個名稱被添加到名稱窗口中,這樣,當你需要返回該名稱所在位置時,就更容易找到這個名稱。默認情況下,自動生成的名稱(啞名)不包含在名稱窗口中,注意,如果選中了Local names,則會自動取消這項,加入后,可以在name window中找到你的自定義名稱
1.3.寄存器名稱
在函數內,IDA允許對寄存器進行重命名,如果一段代碼不屬于某個函數,那么,重命名這段代碼中的寄存器是不可能的
2.注釋
使用Edit?Comments命令提供的選項,可以為反匯編代碼清單中的任何一行代碼添加注釋。通過熱鍵或上下文菜單,同樣可以使用IDA的注釋功能。
2.1.常規注釋
常規注釋位于匯編代碼行的尾部,右擊行右邊緣(或冒號(:)快捷鍵),可打開“輸入注釋”對話框。
若在其中輸入了多行注釋,注釋將跨越多行。
要編輯或刪除一段注釋,必須重新打開“輸入注釋”對話框。
默認情況下,常規注釋以藍色顯示。
IDA本身就大量使用常規注釋。在分析階段,IDA插入常規注釋說明為調用函數而壓入的參數
2.2.可重復注釋
可重復注釋一旦輸入,將會自動出現在反匯編窗口中的許多位置(分號熱鍵),和常規注釋非常相似
如果一個程序位置引用了另一個包含可重復注釋的位置,則該注釋會在第一個位置回顯,默認情況下,回顯的注釋以灰色文本顯示,從而將這些注釋與其他注釋區分開來
如果在一個顯示可重復注釋的位置添加一段常規注釋,則可重復注釋將被常規注釋覆蓋,該位置將僅顯示常規注釋
2.3.在前注釋和在后注釋
在前注釋和在后注釋是出現在指定的反匯編行之前或之后的全行注釋,它們是IDA中僅有的不以分號為前綴的注釋
2.4.函數注釋
通過函數注釋,你可以為函數的反匯編代碼清單頂部顯示的注釋分組,要輸入函數注釋,首先應突出顯示函數頂部的函數名稱,然后再輸入一段常規注釋或可重復注釋。可重復函數注釋將在調用該函數的任何位置回顯。
?
?
?
總結
以上是生活随笔為你收集整理的6.IDA-重命名、注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《论文笔记》Robust Coopera
- 下一篇: Go语言编程—Go语言中JSON的处理(