加VMP的殼,我代碼里面加密!
Delphi 中的標記模式:
asm
db $EB,$10,'VMProtect begin',0 //標記開始處.
end;
//想保護的程式代碼
asm
db $EB,$0E,'VMProtect end',0 //標記結束處.
end;
64位不支持 匯編asm的標記是嗎?
有什么辦法去解決這個問題?
上面64位報錯,32位編譯通過,希望大神能有解決的辦法?再次感謝!!
uj5u.com熱心網友回復:
64位編譯器只是不允許隨處插入asm塊,但是可以寫獨立的匯編程序:procedure VMPBegin;
asm
db $EB,$10,'VMProtect begin',0 //標記開始處.
end;
procedure VMPEnd; forward;
//想保護的程式代碼
procedure SecureCode;
begin
if integer(@VMPBegin) < integer(@VMPEnd) then begin end; // 防止沒用到的代碼被Delphi的smartlink聯結器洗掉掉
// ...
end;
procedure VMPEnd;
asm
db $EB,$0E,'VMProtect end',0 //標記結束處.
end;
uj5u.com熱心網友回復:
謝謝您的回復,我用他提供的demo來做了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25979.html
標籤:VCL組件開發及應用
