逆向中靜態分析工具——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中開啟,刪除的時候沒有指定的按鈕,

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




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM