Armadillo

Armadillo

Armadillo是一套強大的軟體保護系統,可以為您的程式添加裝甲般的外殼。通過藝術性的加密、數據壓縮和其它安全特性保護您的程式不被盜版和破解。Armadillo可以讓您在5分鐘內為您的程式設計並添加一套完全的軟體保護和註冊系統,並且不需要您修改任何程式代碼!Armadillo支持所有語言編寫的32位WindowsEXE檔案。有個c++線性代數庫也叫armadillo。

基本信息

基本介紹

中文簡介

ArmadilloArmadillo

Armadillo是一套強大的軟體保護系統,可以為您的程式添加裝甲般的外殼。通過藝術性的加密、數據壓縮和其它安全特性保護您的程式不被盜版和破解。Armadillo可以讓您在5分鐘內為您的程式設計並添加一套完全的軟體保護和註冊系統,並且不需要您修改任何程式代碼!Armadillo支持所有語言編寫的32位WindowsEXE檔案。

英語簡介

Armadillo is a powerful software protection system.It wraps around your program like an armored shell,defending your work from pirates and program crackers with state-of-the-art encryption,data compression,and other security features.It allows you to design and add a complete software protection and registration-key system to your existing programs in five minutes or less,with no changes to your program's code!And it works with any language that produces a 32-bit Windows EXE file.

注意事項

NanomitesProcessing

Nanomites是Armadillo嵌入子進程的INT3中斷,雖然在GETRIGHTFINAL版本里沒有使用nanomites保護,但是卻在CRUSADER寫的教程里的beta版本里用了。可能有50,100甚至200個INT3,它們被放入了子進程的第一個section,以阻止子進程脫離父進程運行。INT3中斷替代了原始檔案的條件跳轉。所以每當父進程接收到INT3中斷,它就到存放跳轉類型的report中去,看一下標誌以決定是否跳轉,然後測算出新的EIP,改變到子進程中去然後繼續運行直到下一個INT3。

問題是我們不知道每個跳轉和INT3的對應關係,所以我們將要在本篇教程中學習如何patch它。首先我們要學如何手動patch它,然後(在第二篇教程中)我們將要學習如何讓計算機自動逐行patch它。

輸入表亂序

Import Table Elimination一般是把輸入表放在殼申請的記憶體處並且亂序處理。

對於輸入表亂序,以前有兩種解法:①寫代碼重新排序;②直接用ImportRec“創建新的IAT”功能來構造新的輸入表。

代碼拼接

Armadillo會把程式中的部分代碼挪移到殼申請的記憶體段運行,普通dump會導致此部分代碼丟失,可以使用ArmInline工具來修復這部分代碼。

記憶體校驗

記憶體補丁保護可以防止攻擊者使用Loader改變更程式的代碼。付費版本的記憶體保護將會比Demo版更強大。如果您使用此選項,您必須使用CopyMem-II或Debug-Block,否則本項保護將無法啟用。

使用記憶體保護時應注意,不要在程式里添加自修改代碼,否則程式將會自動退出。

相關詞條

相關搜尋

熱門詞條

聯絡我們