1. 程式人生 > >逆向中靜態分析工具——IDA初學者筆記之字符串分析

逆向中靜態分析工具——IDA初學者筆記之字符串分析

工具 代碼 註釋 調整 菜單項 哪些 窗口 mes comment

逆向中靜態分析工具——IDA初學者筆記之字符串分析

程序中往往包含很多字符串資源,這些資源存在於PE文件的rdata段,使用IDA反編譯後,可以查找到這些字符串,

逆向破解程序通常需要一個突破點,而這個突破點,往往就是一個Messagebox,因為這個Messagebox可以很直觀的

讓我們知道當前位置的代碼負責哪些功能,而同時Messagebox可以提供一個字符串讓我們來查找定位。

首先,打開IDA,主菜單View-Open subviews-strings:

技術分享圖片

這時出來一個strings窗口,如下圖所示:

技術分享圖片

這時候窗口裏顯示的是程序中的字符串,但很遺憾,從圖中可以看到大部分字符串只有一部分,難道IDA沒法識別完整的字符串嗎?

當然不是,雙擊圖中的一項字符串,會自動調整到IDE View窗口,部分內容如下圖所示:

技術分享圖片

助記符是IDA自動生成的,可以修改,右鍵單擊該助記符,選擇菜單rename即可。

技術分享圖片

同時註意到有一個菜單項:array,點擊後:

技術分享圖片

不管中文該怎麽翻譯,元素數量、數組長度都行,對於我們選擇的字符串來說,這裏的作用就是控制字符串長度,且11與上面的

註釋中aZGmI[11]相呼應,直接修改,對照前面圖中IDA View的字符串數據,直接修改到00的位置,因為00是字符串結束的標誌。

技術分享圖片

這時可以看到完整通順的字符串句子出來了,這裏再在aZGmI上單擊鼠標左鍵選中,再打開右鍵菜單-rename,修改一個比較有意義的

助記符,也就是字符串名稱:

技術分享圖片

關於那句默認註釋,若要修改,目前知道2個方法,

1)跳轉到代碼段中的引用處,按F5,在C代碼中右鍵單擊該助記符名稱,選擇,Set Item Type,在新窗口直接修改即可,

技術分享圖片

2)直接點擊在IDA View的那句默認註釋,快捷鍵Y,即可。

若實在想註釋,可以添加新的註釋,用Insert快捷鍵,或者在主菜單edit-comments中開啟,刪除的時候沒有指定的按鈕,

而是需要再開啟註釋窗口,清空原來的內容,再確定保存即可:

技術分享圖片

逆向中靜態分析工具——IDA初學者筆記之字符串分析