《加密與解密》筆記三(二)

繼續之前的IDA的介紹:
我們除了可以對數據進行數組形式的顯示,還可以對數據進行結構體的創建和替換
7:
(1)結構體的替換,IDA會自動加載相應文件的類型庫:(通常都會自帶一個vc6win,我們還可以添加mssdk和ntddk這兩個用於底層分析),方法是用快捷鍵Shift+F11或者是View/Open subviews/Type Libraries然後右鍵點擊Load TypeLibrary或者是直接按Insert就可以添加了。
然後在View/Open subviews/Structures裏面點擊Insert鍵,然後Add Standard Structure就可以看見你添加的類型庫裏面包含的所有的類型,之後按+鍵就可以展開結構了。
(2)自己創建要給結構體對數據進行修改替換:同樣的操作,我們只需要在View/Open subviews/Structures裏面Insert直接輸入結構體名字就可以得到一個空的結構體,然後在end那裏點d鍵就可以新加一個元素(dd/double word,db/byte/,dw/word,在彙編裏面一個word兩個字節,這裏也是通用的)然後如果再按a的話就是定義那個地方是一個數組,第一個空填數組元素個數。然後找到猜想爲結構體的地方先選中一開始的地方(一定要是一開始的那一個字節)然後Alt+Q或者是Edit/Struct Var然後選中之前自己創建的結構體模板就好。
(3)如果遇到結構體嵌套結構體的話我們就先在(2)的基礎上定義兩個結構體,然後在付結構體裏面按Alt + Q,選擇那個結構體就可以了。
(4)我們也可以自己導入頭文件(一般的頭文件裏面都是包含了結構體聲明的)從菜單的Fiel/Load file/Parse Cheader file或者Ctrl+ F9就可以了。
8:如果存在美劇類型的話,在IDA裏面看的話就只是push了一個常數,沒有任何的意義(可讀性)此時只需要在View/Open subviews/Enumerations裏面按Insert插入一個就好
9:FLIRT這個功能其實就是一個找出部分RegularFunc爲LibFuc功能的(簡言之就是一個函數識別技術,讓反編譯出來的文件有較高的可讀性)但是有的時候這個識別並不是完全自動識別的,所以此時就要手動添加簽名文件(其識別機制就是爲每一個可是別的庫函數創建一個簽名),方法是Shift + F5然後右鍵Apply new signature或者Insert也可以,這裏同時可以自制某些庫的簽名文件這只是一個簡單的過程描述:
一般的IDA的壓縮包裏面會自帶一個flair68.zip,這個裏面包含了pcf.exe和sigmake.exe這兩個主要的文件,首先用命令行運行pcf *.lib,*.pat來生成pat,然後再用sigmake *.pat,*.sig生成一個簽名文件,如果沒有lib有dll的話先反彙編這個dll然後用IDB2PAT生成pat文件就可以

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章