首先我們需要VMProtect。VMProtect是一款虛擬機保護軟件,是目前最為流行的保護殼之一。VMProtect將保護后的代碼放到虛擬機中運行,這將使分析反編譯后的代碼和破解變得極為困難。除了代碼保護,VMProtect還可以生成和驗證序列號,設置過期時間,限制免費更新等等。
免費下載VMprotect試用版>>
以易語言為例,在需要保護的子程序開頭寫
置入代碼 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })
結尾處寫:
置入代碼 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })
就像這樣:
千萬不要試圖把這兩句封裝到獨立的子程序里面,必須每個要保護的子程序都手寫這兩句。然后靜態編譯。
接下來打開vmprotect,點擊菜單欄的文件->打開,選擇我們剛剛編譯出來的程序:
會看到一個VMProtectMarker 1節點,編譯類型選擇虛擬夠了,然后點擊上方工具欄的綠色按鈕(或者F9)就會重新編譯一個經過保護的程序在原程序目錄下,文件名是源文件名+vmp。
基本上到這里就大功告成,大家可以打開你們的OD,CE去看看,會發現絕對找不到那些字符串的位置在了。
未保護之前的程序,一眼看光光。
保護之后,我一路拉下去也沒看到什么有意義的內容
科普四大猛殼:VMP,TMD,SE,ZP