1625-5 王子昂 總結《2023年3月4日》 【連續第519天總結】
a. 抵禦靜態分析(3)
b. 為了提高介面的友好度,大多數軟體都會在大量地方顯示提示語。
而這些提示語由於特殊性和特徵明顯,經常被作為靜態分析的突破口。(例如ida的shift+f12,od的智慧型搜尋字串233)
破解者循著破解點的字串即可直接找到破解點的**,進行操作。
為了防範這一點,許多加殼、混淆工具會自動加密所有字串。
在編寫的時候,也可以自行進行加密字串。
即使是簡單的ascii+1,也可以使得字串變得完全不可讀
更複雜的可以使用一些函式來處理,使每個字串都不盡相同,增加破解時的複雜度
多型技術往往意味著它會把核心**進行編碼,然後生成乙個複雜的解碼器,在執行的時候對其解碼。
變形則是把一段**重新編碼,雖然仍然使用x86指令集,但是例如」add eax, 5」可能會被換成等價的5個」inc eax」,並且可以用jmp打亂**的順序。
諸如此類的變換使**迅速膨脹,因此注重小體積的病毒並不過多地用變形,而在殼中可以不去關心體積。themida殼保護乙個幾kb的小檔案會膨脹到將近2mb。
盡量地將**變形,可以很好地干擾分析人員。
變形引擎編寫較為困難,因為它需要乙個反彙編引擎,還要能對**塊進行分析。
要想還原變形,就必須寫乙個相應的收縮程式(shrinker),這也同樣需要乙個反彙編引擎。
在**中插入的資料一致是所有反彙編引擎頭疼的東西,即使是ida也沒有把握區分出誰是資料誰是**。
c. 明日計畫
檔案完整性校驗
170512 逆向 靜態分析技術
1625 5 王子昂 總結 2017年5月12日 連續第223天總結 a.加密與解密idapro b.動態分析技術是把程式載入到記憶體中然後進行除錯 靜態分析技術則是根據程式進行逆向,獲得彙編 或源 然後從程式清單上分析程式流程,了解模組完成的功能 高階語音編寫的程式有兩種形式,一種被編譯成機器語言...
逆向分析入門
軟體病毒行為特徵的分析,通過分析病毒的特徵資訊,更好地進行反病毒軟體的編寫。閉源軟體內部演算法的理解分析,進行軟體行為的模擬,優秀演算法設計思路學習和借鑑。各類軟體的破解,去除各類軟體的限制 屌絲能用各種高大上的商業軟體 解密軟體加密演算法,解密各類加密檔案。分析其遊戲軟體的演算法設計,進行各類遊戲...
逆向分析底紋
工作需要會被要求還原某個證書底紋,一般解決的思路是到網上找,如果找到了就直接用,如果找不到了相同的就找近似的湊合用,如果連近似的底紋都沒有那我們是不是就沒有辦法了呢?有的,我們可以直接逆向分析出它最基本的單元,然後用photshop的填充功能生成即可。既然用的是逆向分析,那麼我們應該知道正向是怎麼回...