翻譯|使用教程|編輯:陳津勇|2019-12-12 14:06:18.977|閱讀 1663 次
概述:破解程序最常見的方法之一是找到要檢查序列號的位置,以及其后的附近條件跳轉。本文,我們將使用這種方法直接在源代碼中“破解”測試程序,并通過將代碼鎖定到序列號上來實現文件保護。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在實模式下,VMProtect許可系統向受保護的應用程序放置一個特殊的許可模塊。該模塊執行與SDK中的測試功能相同的功能,但是使用序列號的內容而不是配置ini文件。本系列教程的五個步驟說明了使用基于VMProtect和許可系統的全功能保護來保護簡單應用程序的過程。
破解程序最常見的方法之一是找到要檢查序列號的位置,以及其后的附近條件跳轉。如果序列號正確,則程序以一種方式執行,否則就以另一種方式執行。黑客找到了該跳轉并將其替換為“正確”方式的跳轉。
本文,我們將使用這種技術直接在源代碼中“破解”測試程序。首先,“關掉”條件跳轉:
char *serial = read_serial("serial.txt"); int res = VMProtectSetSerialNumber(serial); delete [] serial; if (false && res) {
現在,程序可以接受任何序列號,并且可以正常工作。當然,如果文件受到VMProtect的保護,即使是經驗豐富的黑客也會花費數月的時間來定位和修改條件跳轉。考慮到程序在不同條件下多次檢查序列號,即使是這樣一個簡單的檢查也是相當安全的。
步驟五 將代碼鎖定到序列號上
VMProtect的演示版對已處理函數的數量有所限制:僅處理一個函數。因此,如果使用demo-version,應該只將foo()函數包括到項目中,否則VMProtect的demo-version可以選擇main()函數,并且對序列號的鎖定將不起作用。
VMProtect的授權系統允許您將一個或多個功能的代碼鎖定到一個序列號,這樣,如果沒有提供正確的序列號,它們將無法工作。該函數的主體將被虛擬化,然后進行加密,并且只能使用正確的序列號進行解密。這意味著,即使黑客在序列號檢查中找到并修復了有條件的跳轉,鎖定到序列號的功能仍然無法使用。
下面讓我們嘗試一下。在“Functions”部分中,選擇foo()函數,然后在右側面板中將“Lock to Serial Number”選項更改為“Yes”。
然后,保護應用程序。由于我們已經“破解”了它,所以可以將任意文本放入serial.txt文件中并運行該應用程序。以下文本將出現在控制臺中:
C:\test>dummy_app.vmp.exe serial number is correct, calling foo()
這意味著,黑客“修復”了條件跳轉,程序以“正確”方式運行。但是當調用foo()時,程序將顯示一條消息:
由于我們將foo()函數鎖定在序列號上,而黑客沒有此序列號,因此嘗試解密該函數的代碼會導致故障和無法繼續執行程序。當按下“OK”時,程序關閉,并且“done”消息永遠不會不顯示在控制臺中。
什么應該被鎖定到序列號?
將只在程序的注冊版本中運行的功能鎖定到序列號是有必要的。由于鎖定需要虛擬化,所以應該考慮一些性能損失。例如,如果文本編輯器不允許在演示版中保存結果,則可以將保存文檔功能鎖定到序列號。如果該函數在其操作期間調用其他函數,則也不必鎖定它們,因為沒有主函數,它們將不會有任何用處。
注意,在沒有序列號的情況下調用鎖定的函數會導致程序關閉,并且沒有機會保存工作結果。這就是為什么應該徹底測試應用程序,以確保它在試用模式下不會調用此類功能。在上面的示例中,文本編輯器必須在演示模式下禁用“Save”命令,不能對Ctrl + S快捷鍵作出反應,也不應該要求在退出時保存文檔。如果您不注意這一點,用戶可能會對“錯誤”的演示版本感到失望。
鎖定序列號和無效序列號
當調用VMProtectSetSerialNumber()函數時,授權許可模塊檢查傳遞給該函數的序列號。只有當序列號在檢查時絕對正確時才執行代碼的加密片段——未列入黑名單,具有正確的硬件標識符、未過期等等。在這種情況下,所有加密的過程都將執行,直到應用程序關閉,或再次調用VMProtectSetSerialNumber()。
在程序執行期間,某些限制可能會“觸發”:例如,程序的運行時間可能到期或序列號過期日期到來。在這種情況下,許可模塊仍會加密并執行鎖定在序列號上的功能。這是因為受保護的應用程序很難檢測到這些限制觸發的時刻并相應地更改行為(阻止相應的菜單項等)。如果許可模塊突然停止執行鎖定到序列號的代碼片段,很可能導致應用程序故障。這就是為什么要在設置序列號時做出決策,并選擇相應的執行模式等原因。
有關 VMProtect 更多資源,請聯系了解
12月,慶圣誕,迎元旦,上“慧都網”小程序簽到兌軟件商城無門檻抵價券>>> 領優惠券購VMProtect享折上折>>>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: