Themida是先進的Windows軟件保護系統,它被用於知足軟件開發人員對於所開發應用程序安全保護的需求,使其遠離被先進的逆向工程和軟件破解的危險。安全
經過Themida,咱們集中在軟件保護器所具備的主要弱點,從而提供瞭解決這些問題的完整解決方案。Themida使用SecureEngine®保護技術,當以最高優先級運行時,實施前所未見的保護技術,以保護應用程序免受高級軟件破解。>>當即下載Themida DEMO體驗函數
Themida常見問答集錦spa
Q:我有一個VM_START / END函數。在START - END宏標記內部,我調用一個名爲「Function2()」的外部函數。那個外部的「Function2()」也是虛擬化的嗎?命令行
A:在這種狀況下,將虛擬化Function2()的調用約定,而不是Function2()中的代碼。例:指針
void MyMainFunction() { VM_START //一些代碼 功能2(1,2,3) //一些代碼 VM_END }
在上面的示例中,START - END標記內的全部代碼都已虛擬化。Function2()的調用約定(傳遞參數)也是虛擬化的,但不是「Function2()」中的代碼。若是您還想在Function2()中虛擬化代碼,則必須在Function2()中放入* another *宏。例:開發
void Function2(param1,param2,param3) { VM_START //一些代碼 VM_END }
Q:在VM_START/END標記中,我調用了幾個函數。那些被調用的函數也是虛擬化的嗎?字符串
A:假設如下示例:get
int main(void) { VM_START MyFunction1(); MyFunction2(); 返回0; VM_END }
在上面的例子中,保護「main()」函數內的代碼,但不保護「Function1()」和「Function2()」中的代碼。若是要保護/虛擬化「Function1()」和「Function2()」中的代碼,則須要在「Function1()」中放置另外一個VM宏,在「Function2()」中放置另外一個VM宏。string
Q:Themida是否須要Internet才能工做?io
A:若是您啓用了Taggant選項(在保護選項面板中),Themida/WinLicense只須要internet鏈接。不管如何,在最新的版本中,添加了一個使用「late」taggant進行保護的特性,所以能夠在沒有internet鏈接的機器中保護您的應用程序,而後在稍後的時間將taggant應用於它。
Q:我是否能夠稍後從另外一臺鏈接互聯網的計算機上添加Taggant證書?
A:是的,最新版添加了命令行選項「 / latetaggant 」,所以受保護的應用程序能夠在之後接受標籤劑證書。例:
Themida.exe / latetaggant / protect「MyProjectFile.tmd」
注意,只有應用了taggant以後,才能夠執行帶有「/latetaggant」的受保護的應用程序。要在稍後添加taggant證書,您必須使用命令行選項「/embedtaggant」,傳遞文件來應用taggant。例:
Themida.exe / embedtaggant MyProtectedFile.exe
目前,「latetaggant」選項僅適用於命令行保護,沒法從用戶界面執行此操做。
Q:個人虛擬器宏中有一些葡萄牙字符串,可是當我單擊「保護宏」面板中的「ANSI strings」選項卡時,其中一些字符串是沒法識別的。這是我爲何呢?
A:代碼虛擬化器搜索可打印字符,以便可以肯定指向「某物」的指針是不是字符串。因爲字符串可能包含特殊的葡萄牙字符,所以內部函數可能會失敗,沒法肯定特定的字符是否能夠打印。
您能夠更改當前的語言環境,這樣代碼虛擬化器將可以找到您的葡萄牙語字符串。
固然,能夠爲其餘語言更改「StrEncryptLocale」條目,例如「俄語」,「西班牙語」等。
-- 持續更新中 --