VMProtect是一種很可靠的工具,可以保護應用程序代碼免受分析和破解,但只有在應用程序內保護機制正確構建且沒有可能破壞整個保護的嚴重錯誤的情況下,才能實現最好的效果。
VMProtect通過在具有非標准體系結構的虛擬機上執行代碼來保護代碼,這將使分析和破解軟件變得十分困難。除此之外,VMProtect還可以生成和驗證序列號,限制免費升級等等。
下載VMProtect最新版【慧都網】
VMProtect正版授權在線訂購享受最低價,僅售801元起!還不趕緊加入你的訂購清單?>>更多詳情可點擊咨詢購買
1.與傳統的加殼工具不同,不是簡單的把目標進行壓縮、內存解壓運行,而是修改目標源碼,讓目標的部分指令在vmp創建的虛擬環境下運行,虛擬環境中無操作數比較指令、條件跳轉和無條件跳轉指令;
2.被修改替換的目標指令最終形成的字節碼有前后相關性,即你改變其他任意一個字節會影響到所有被vm虛擬化的指令
3.vmp的虛擬機其實是一個字節碼解釋器,循環的讀取指令並執行,並且只有一個入口和一個出口
4.虛假跳轉和垃圾指令, vmp會使用大量的虛擬跳轉和垃圾指令將原有簡單的代碼變得復雜
5.vmp是基於堆棧的虛擬機,虛擬機指令不是顯示的讀取參數,而是把要使用的參數壓入堆棧,而后直接從堆棧中讀取
6.vmp指令
1)算數運算和移位運算
2)堆棧操作
3)系統相關
4)邏輯運算,這個最復雜,vmp中只有一個邏輯運算指令nor, 它可以模擬not and or xor 四個邏輯運算指令
7.vmp寄存器輪轉
mvp將所有的寄存器都放在一個堆棧的結構vm_context中, 結構中的每一項代碼一個寄存器或臨時變量
在程序運行過程中, vm_context結構中保存的寄存器不是固定的,每當執行完一個操作或一個指令結構中的項與真實寄存器之間的映射關系會發生變化,就像一個齒輪隨機的轉動了一下, 轉動過后原有的映射關系全部改變了
8.字節碼加密和隨機效驗
隨機效驗比較牛B, vmp會在編譯好的字節碼中加入自己的一些指令(專屬於vmp自動的指令), 每一次執行都會對一段代碼隨機生成hash值, 然后與另一個隨機數相加, vmp要求相加的結果必須為0, 否則會出錯.
如果您對該加密/解密軟件感興趣,歡迎加入加密/解密QQ交流群:740060302