殼 專用加密軟體

2021-09-17 08:39:23 字數 1780 閱讀 3350

殼是最早出現的一種專用加密軟體的技術。主要分為壓縮殼和加密殼。

殼的裝載過程

<1>獲取殼自己所需要的api位址

<2>解壓或解密原程式的各個區塊

<3>進行必要的重定位

<4>跳轉到程式的原入口點(oep)

壓縮引擎

<1> aplib :適合壓縮小檔案(低於64k)

<2> jcalg1:適合壓縮大檔案

<3> lzma:7z格式預設壓縮演算法

常見的壓縮殼

<1>upx

穩定,相容,開源

官方主頁:

<2>aspack

win32可執行檔案壓縮軟體,可壓縮exe、dll、ocx

官方主頁:

<3>pecompact

支援使用外掛程式,提供多種壓縮專案選擇

官方主頁:

常見的加密殼

<1>asprotect

非常強大的win32保護工具,開創了殼的新時代。擁有壓縮、加密、反跟蹤**、crc校驗和花指令等保護措施,使用blowfish、twofish、tea等加密演算法,以rsa1024為註冊金鑰生成器,通過api鉤子與加殼的程式通訊。同時提供sdk,實現加密程式的內外結合。

asprotect在共享軟體中相當普遍,研究的人也比較多,所以目前,其各類保護機制已被研究得很透了。

<2>armadillo

又稱「穿山甲」,可以為程式加種種限制(次數,時間,nag視窗等)。

在加殼時將需要保護的**裡的所有跳轉指令換為int3指令,機器碼cc。armadillo是雙程序執行,若子程式遇到cc異常,父程式會截獲這個int3異常,計算出跳轉指令得目標位址並將其反饋給子程序,使子程序繼續執行。這種保護稱為「cc保護」。

<3>execryptor

可以為程式新增nag視窗和其他限制,但相容性不好。

<4>themida

使用虛擬機器保護技術,缺點是加密後程式體積較大。

虛擬機器保護軟體

原理:將一系列指令解釋成bytecode(位元組碼),放入乙個解釋引擎中執行,從而對軟體保護。

虛擬機器引擎主要有編譯器、直譯器、虛擬cpu環境(vpu context)組成,並搭配乙個或多個指令系統。虛擬機器在執行時,先根據自定義的指令系統把已知的x86指令解釋成位元組碼並放入pe檔案中,然後將原始**刪除,改為類似如下的**,放入虛擬機器執行迴圈。

push bytecode

jmp vstartvm

除錯者跟蹤進入虛擬機器後很難理解原指令,除非對虛擬機器引擎進行深入分析。

虛擬機器已成為目前最流行得保護趨勢。

但經過vm處理後,程式執行速率大大降低。使用者一般只需要把較為重要的**用vm保護起來。如果是一些對速度要求比較高的**,不適合用vm來保護。

vmprotect

vmprotect是一款純虛擬機器保護軟體,是當今最強大的虛擬機器保護軟體之一。

將制定**進行變形和虛擬化處理後,能很好地隱藏**演算法,防止演算法被逆向。

vmprotect可以精確地保護指定位址的**。每填入乙個保護的位址,vmprotect就會根據**執行流程判斷最可能是結束位址的位址。

殼 專用加密軟體

殼附加在原始程式上,通過windows載入器載入記憶體後,先於原始程式執行,一得到和控制權,在執行過程中對原始程式進行解密 還原,還原後把控制權還給原始程式,執行原來的 壓縮殼upx 以命令列方式操作的可執行檔案壓縮程式,相容性和穩定性很好。命令列格式 upx 123456789dlthvl qvf...

180215 加密 專用加密軟體(1)

1625 5 王子昂 總結 2018年2月15日 連續第503天總結 a.專用加密軟體 1 b.殼是一種附加在原程式上通過windows載入器載入記憶體後,先於原始程式執行,得到控制權,執行過程中對原始程式進行解密 還原,完成後再把控制權交還給原程式的程式 不同的外殼所側重的方面也不一樣,有的側重於...

URL引數加密專用

url引數加密專用 region 加密 private static byte key private static byte iv new byte 加密 public static string urlencrypt string strtoencrypt 加密 要加密的字串 金鑰 加密後的字串...