亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一個簡單壓縮殼的實現

發布時間:2020-08-03 19:40:40 來源:網絡 閱讀:1021 作者:適__ 欄目:編程語言

之前,花了三、四天的時間寫了一個壓縮殼,Mark一下。

簡單說下邏輯:

1、MFC實現的UI交互部分:展示殼的功能,獲取被加殼程序的路徑,顯示加殼進度。

2、加殼功能Pack導出為一個dll,MFC部分動態加載。

3、殼的本體Stub,把數據段、只讀數據段合并到代碼段,添加到被加殼程序的最后。

一個簡單壓縮殼的實現

簡單說下功能:

1、支持反調試,檢查PEB可以過x64dbg,NtQueryInformationProcess可以過StrongOD。

2、加密代碼段,用的AES加密庫。大概思路:遍歷區段頭表,找到.text區段頭表,通過PointerToRawData字段加上被加殼程序讀取到內存中的首地址,找到.text段在內存中的位置;通過SizeOfRawData得到它的文件大小;調用AES加密庫。

3、壓縮代碼段,大概思路:通過.text段頭表找到.text段,調用壓縮庫壓縮。申請內存空間,大小=PE頭+已壓縮.text+其他區段。依次從內存空間把文件拷貝過去:PE頭、已壓縮.text段、其他區段,重組PE文件。同時,修改.text的SizeOfRawData、修改其他區段的PointerToRawData。

一個簡單壓縮殼的實現

4、檢測虛擬機,大概思路:動態獲取遍歷進程的幾個函數,在殼里面檢測虛擬機相關的進程。

5、IAT加密,大概思路:遍歷被加殼程序的導入表,獲取API函數地址,動態加密。申請內存空間,寫入解密和跳轉的shellcode。IAT表地址改為指向這個內存空間。

6、重定位,有多處需要重定位。

6.1、Stub.dll的.text段需要進行重定位,因為默認加載基址從0x10000000變成了0x400000。

6.2、要想被加殼程序支持重定位,需要把被加殼程序的重定表重定向Stub.dll的.reloc段。因為殼程序優先執行,利用系統自動完成殼部分的重定位。在殼程序中,手動完成目標程序的重定位。

7、TLS,需要在殼程序中定義一個TLS變量,佯裝使用一下,編譯的時候生成TLS相關的信息。然后,手動調用被加殼程序的TLS回調函數才能成功。

8、在碼云有一個工程:https://gitee.com/shihuozhiyu/SimplePack

9、有一個腦圖:

一個簡單壓縮殼的實現

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金湖县| 靖边县| 察雅县| 永靖县| 新平| 盐源县| 白玉县| 乐业县| 云浮市| 永州市| 万荣县| 南澳县| 南开区| 连城县| 贵德县| 正镶白旗| 渑池县| 镇宁| 依兰县| 泗水县| 渭源县| 育儿| 定远县| 图们市| 南汇区| 密山市| 榆社县| 图木舒克市| 房产| 麟游县| 眉山市| 邻水| 饶河县| 桑日县| 光山县| 邢台市| 敦煌市| 房山区| 牡丹江市| 双流县| 屏边|