如何選擇加殼工具?

2022-07-28 11:54:30 字數 1374 閱讀 9714

壓縮殼

以隱藏程式**和資料為目的,並將隱藏後的**和資料進行壓縮。但是,壓縮殼由於在執行時會將**段和資料段還原,所以安全性較低。

加密殼

功能與壓縮殼類似,可以將**和資料進行加密,也可以對單個函式加密,只有函式被執行時才進行解密。同樣,由於在執行時仍需要解密**和資料,所以只能起到輔助的效果。

虛擬機器殼

將原始的指令經過虛擬化,翻譯成自定義的虛擬機器指令。由於虛擬機器指令不對外公開,每次加殼都能產生隨機化的虛擬機器操作碼,如果要逆向虛擬化的指令,需要先分析自定義虛擬機器,分析難度極高。

虛擬機器外殼同時具備基礎保護和高階保護功能,是公認的強度最高的保護方式。

加密外殼的主要作用是保護核心**邏輯和增加軟體逆向難度。高安全性是選擇一款加殼工具的金標準。安全性可以從兩個方面進行分析:

基礎保護功能

基礎保護功能是指對程式的整體保護。基礎保護可以大輻度提高程式破解的門檻,延長破解時間。

高階保護功能

高階保護是指函式級保護,對指定的函式進行混淆、虛擬化等保護。具有高安全性,破解難度極高。

一定要選擇市場上比較成熟的加殼產品。

對程式進行加殼,會增加軟體的複雜程度。加殼程式的某些特殊處理,很容易造成保護後程式的不穩定性。甚至會出現某些加殼後的程式被防毒軟體攔截查殺的現象。加殼後的程式如果不穩定,會給使用者帶來極大的不便,影響工作效率。

選擇支援效能調節的加殼工具。

外殼對程式的效能影響體現在兩方面,一是單個保護方式對程式效能影響大小,二是在追求高安全性的同時,效能是否可以調節。效能調節是指加殼工具對所保護程式進行效能分析、準確判斷效能瓶頸。對保護後的程式進行效能診斷會占用開發人員大量時間,如果在保護過程中就能夠輕鬆診斷出效能瓶頸,可以明顯提公升開發效率。

選擇支援範圍廣泛的加殼工具。

目前,應用程式正在向多平台化發展,外殼工具的支援範圍可以從以下三個維度來權衡:

選擇有資料保護功能的加殼工具。

軟體在執行過程需要載入一些重要資料來完成某項功能,資料檔案的安全也應該被重視。防止資料檔案的洩露和破壞才能更好的實現軟體安全。選擇加殼工具時要關注一下是否支援資料檔案保護。

選擇操作簡單的產品。

介面工具:優先考慮介面直觀、操作簡單的產品,這樣能夠事半功倍,提公升加密效率。

命令列:團隊開發流程往往會使用 ci 系統自動編譯,甚至有專門的構建團隊,所以命令列加殼是必不可少的。

編譯UPX加殼工具

upx軟體 lzma包 ucl軟體 進入 ucl 1.03目錄,root許可權執行.configure後執行make make install 修改 upx 3.94 src stub scripts check whitespace.sh 檔案如下圖所示,注釋掉一下所有內容 upx 3.94目錄下...

加殼工具的使用

這是我對加殼工具的使用的學習記錄。1.加殼 是一種通過一系列數 算,將可執行程式檔案 exe 或動態鏈結庫檔案 dll 的編碼進行改變 目前加殼軟體還可以壓縮 加密 以達到縮小檔案體積或加密程式編碼的目的。當被加殼的程式執行時,外殼程式先被執行,然後由這個外殼程式負責將使用者原有的程式在記憶體中解壓...

upx加殼原理

upx的功能有兩種描述。一種叫做給程式加殼,另一種叫壓縮程式。其實這兩種表述都是正確的,只是從不同的 角度 對upx的描述。upx的工作原理其實是這樣的 首先將程式壓縮。所謂的壓縮包括兩方面,一方面在程式的開頭或者其他合適的 地方 插入一段 另一方面是將程式的其他地方做壓縮。壓縮也可以叫做加密,因為...