日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Windows PE 第十二章 PE变形技术

發布時間:2025/6/17 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows PE 第十二章 PE变形技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PE變形技術

? ? 這章東西太多,太細了。這里我只記錄了一些重點概念。為后面學習做鋪墊。

? ? PE變形:改變PE結構之后,PE加載器依然可以成功加載運行我們的程序。

一?變形常用技術:

結構重疊技術、空間調整技術、數據轉移技術、數據壓縮技術。

下面是相關概念只是(我只整理重點)

1.結構重疊技術:

????結構重疊技術是指在不影響正常性能的前提下,將某些數據結構進行重疊的技術。在縮小PE的變形中將大量使用這種技術。

重疊能成功通常是以為以下三點:

(1)被覆蓋的數據可能是另一個結構中的無用數據。

(2)有用的數據可能只對一個結構起作用,但是被覆蓋的數據在兩個結構中都用,此種情況下發生的重疊必須保證重疊的字段在兩個結構中擁有相同值。

(3)PE加載器并不檢測所有的字段。

找了一個helloword隨便把頭前面改了下。


2.空間調整:

? ? 通過改變一些數據塊的大小來個自己擴充空間,然后往里面加代碼或者數據,但是這種要注意,被擴充的節后面所有的數據要相應修改相對偏移位置,這個比較麻煩。

3.數據轉移技術:

? ? 在編寫過程中,處于某種考慮,經常會將PE中的一部分數據轉移到另一個位置。比如,將程序中的變量存儲到文件頭部結構的某個字段中,將代碼轉移到頭部結構的某個連續空間中等,這就是數據轉移技術。


(1)寫一個hello輸出HelloPE.

(2)找到數據段的這個字符串改為HelloXX,運行發現是顯示HelloXX.

(3)然后OD加載起來這個程序,斷點到MessageBox的地方,把push地址的那個HelloXX地址改為0x1020020相當于文件頭0x20.

(4)然后直接二進制操作,把文件0x20的地方隨便寫一個傳,模擬數據被轉移到了這里。然后雙擊exe顯示的是0x20處的這個串。具體細節操作如下圖。

?

?

?

?

?

?


4.數據壓縮技術

? ? 在編程過程中,如果指令代碼比較長,海爾可以先對代碼實施壓縮,然后在PE頭部找一塊比較大的連續區域存放加壓縮用的代碼。程序被PE加載器加載后,文件頭就基本不再使用了。這時,可以將存儲的壓縮代碼通過PE頭部的解壓縮程序進行解壓,解壓后即可通過跳轉指令實施程序指令的轉移。

? ? 由于壓縮后的代碼不便于通過十六進制直接地看到,所以這種方法在一些病毒程序代碼中比較常見;另外,在一些加殼程序中會經常看到數據壓縮技術。

書上分析了一個病毒,用了簡單的行程壓縮算法,

這個很好理解:0000010000壓縮后是05104

二?變形技術可用的空間:

? ? 要想對PE進行變形,需要掌握PE文件中每個位置數據的可替換特性,即該位置數據是否可以被替換成別的值,某段數據是否可以被其他用途利用等。總體上講,PE中可以作用變形的空間有以下三類。

1)文件頭部未用的字段(用前一定要仔細測試)

?

?


(2)大小不固定的數據塊:

?

(3)因對齊產生的補足空間:

這個也是大小不固定的,要具具體PE具體分析。

?

三?變形技術原則:

(1)關于數據目錄表:

數據目錄表的個數必須大于等于2.如果PE文件的最后一個字節位于目錄表之間,如介于第3項資源表定義之間,則文件中無法定義資源的大小,PE加載器默認資源表的大小為0.

(2)關于節表:

????PE文件頭中可以沒有節表的定義,但必須將文件頭部的字段IMAGE_FILE_HEADER.NumberOfSections設置為1.

(3)關于導入表:

????導入表是PE的核心。要想在已有的PE中靜態引入動態鏈接庫的函數,就必須通過變形技術構造一個合理的導入表,或者重構已有的導入表。

(4)關于程序數據:

????數據可以存儲在內存中的任何位置,可以位于文件頭,可以可以位于其他節中。

代碼和數據一樣,可以在內存的任何位置,所在的節,其屬性必須可讀、可寫、可執行。將代碼段設置為可寫屬性主要考慮到某些程序會將一些變量存儲在代碼段,且在程序中尤為該變量賦值的代碼。

如果所有的數據(程序變量、導入表、IAT等)都在文件頭部,也就是說加載進內存的PE文件只有頭文件存在,假設大小為一個頁面1000h,那么操作系統會因為IAT的緣故自動將該頁面設置位ERW,即可讀、可寫、可執行(之前文件頭默認是只讀的)。

(5)關于對齊:

????節的對齊尺寸必須大于等于文件的對齊尺寸。由于文件的對齊尺寸被定義為2N次冪,所以通常會將文件對齊尺寸設置得更小,并使兩個值相等,已達到縮小PE文件的目的。

(6)幾個關注的字字段:



?

?

總結

以上是生活随笔為你收集整理的Windows PE 第十二章 PE变形技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。