• <menu id="w2i4a"></menu>
  • logo VMProtect用戶手冊

    文檔首頁>>VMProtect用戶手冊>>代碼保護(hù)軟件 VMProtect 用戶手冊之準(zhǔn)備項(xiàng)目: SDK功能

    代碼保護(hù)軟件 VMProtect 用戶手冊之準(zhǔn)備項(xiàng)目: SDK功能


    VMProtect 是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機(jī)制正確構(gòu)建且沒有可能破壞整個保護(hù)的嚴(yán)重錯誤的情況下,才能實(shí)現(xiàn)最好的效果。

    VMProtect最新試用版下載

    SDK功能可以集成到受保護(hù)應(yīng)用程序的源代碼中,用來設(shè)置受保護(hù)區(qū)域的邊界、檢測調(diào)試器或虛擬化工具。

    代碼標(biāo)記

    • VMProtectBegin
    • VMProtectBeginVirtualization
    • VMProtectBeginMutation
    • VMProtectBeginUltra
    • VMProtectBeginVirtualizationLockByKey
    • VMProtectBeginUltraLockByKey
    • VMProtectEnd


    服務(wù)功能

    • VMProtectIsProtected
    • VMProtectIsDebuggerPresent
    • VMProtectIsVirtualMachinePresent
    • VMProtectIsValidImageCRC
    • VMProtectDecryptStringA
    • VMProtectDecryptStringW
    • VMProtectFreeString


    許可功能


    VMProtectBegin

    void VMProtectBegin(const char *MarkerName);

    標(biāo)識代碼保護(hù)區(qū)開頭的標(biāo)記。必須在受保護(hù)代碼塊的第一個命令(或者過程或或者函數(shù)調(diào)用)之前放置對VMProtectBegin的調(diào)用。 MarkerName定義在VMProtect中看起來像“VMProtectMarker”+MarkerName的標(biāo)記的名稱。例如,標(biāo)記VMProtectBegin('CheckRegistration')將看起來像VMProtectMarker“CheckRegistration”。如果未設(shè)置標(biāo)記的名稱,則會以“VMProtectMarker”+ marker_serial_number的形式為其指定唯一名稱。你可以在VMProtect中設(shè)置給定受保護(hù)塊的編譯類型。


    VMProtectBeginVirtualization

    void VMProtectBeginVirtualization(const char *MarkerName);

    標(biāo)識符使用預(yù)定義的“虛擬化”編譯類型標(biāo)識代碼的受保護(hù)區(qū)域的開頭。MarkerName定義標(biāo)記的名稱。VMProtect目前無法更改此標(biāo)記的編譯類型。


    VMProtectBeginMutation

    void VMProtectBeginMutation(const char *MarkerName);

    標(biāo)識符使用預(yù)定義的“變異”編譯類型標(biāo)識代碼的受保護(hù)區(qū)域的開頭。MarkerName定義標(biāo)記的名稱。VMProtect目前無法更改此標(biāo)記的編譯類型。


    VMProtectBeginUltra

    void VMProtectBeginUltra(const char *MarkerName);

    標(biāo)記用預(yù)定義的“ultra(虛擬化+變異)”編譯類型標(biāo)識代碼的受保護(hù)區(qū)域的開始。MarkerName定義標(biāo)記的名稱。VMProtect目前無法更改此標(biāo)記的編譯類型。


    VMProtectBeginVirtualizationByKey

    void VMProtectBeginVirtualizationLockByKey(const char *MarkerName);

    標(biāo)記使用預(yù)定義的“虛擬化”編譯類型和啟用的“Lock to key”選項(xiàng)標(biāo)識代碼的受保護(hù)區(qū)域的開頭。 MarkerName定義標(biāo)記的名稱。VMProtect目前無法更改此標(biāo)記的編譯類型。


    VMProtectBeginUltraLockByKey

    void VMProtectBeginUltraLockByKey(const char *MarkerName);

    標(biāo)識使用預(yù)定義的“ultra(虛擬化+變異)”編譯類型和啟用的“Lock to key”選項(xiàng)標(biāo)識代碼的受保護(hù)區(qū)域的開頭。MarkerName定義標(biāo)記的名稱。VMProtect目前無法更改此標(biāo)記的編譯類型。


    VMProtectEnd

    void VMProtectEnd(void);

    標(biāo)識代碼保護(hù)區(qū)末尾的標(biāo)記。必須在受保護(hù)代碼塊的最后一個命令(過程或函數(shù)調(diào)用)之后放置對VMProtectEnd的調(diào)用。


    VMProtectIsProtected

    bool VMProtectIsProtected(void);

    如果文件由VMProtect處理,則MProtectIsProtected函數(shù)返回True。


    VMProtectIsDebuggerPresent

    bool VMProtectIsDebuggerPresent(bool CheckKernelMode);

    VMProtectIsDebuggerPresent函數(shù)允許在調(diào)試器下檢測應(yīng)用程序的啟動??梢允褂脩?yīng)用內(nèi)保護(hù)機(jī)制處理結(jié)果(True / False)。如果CheckKernelMode = False,則該函數(shù)檢查用戶模式調(diào)試器(OllyDBG,WinDBG等)。如果CheckKernelMode = True,則為用戶模式和內(nèi)核模式調(diào)試器(SoftICE,Syser等)。在保護(hù)驅(qū)動程序時,CheckKernelMode的值沒有意義,因?yàn)轵?qū)動程序始終在內(nèi)核模式下工作,因此始終檢查是否存在內(nèi)核模式調(diào)試程序。


    VMProtectIsVirtualMachinePresent

    bool VMProtectIsVirtualMachinePresent(void);

    VMProtectIsVirtualMachinePresent功能允許在虛擬機(jī)工具下檢測應(yīng)用程序的啟動:VMware,Virtual PC,VirtualBox,Sandboxie。 可以使用應(yīng)用內(nèi)保護(hù)機(jī)制處理結(jié)果(True / False)。


    VMProtectIsValidImageCRC

    bool VMProtectIsValidImageCRC(void);

    VMProtectIsValidImageCRC函數(shù)檢測可執(zhí)行模塊已在進(jìn)程的內(nèi)存中更改的事實(shí)(僅檢查不可更改的代碼和數(shù)據(jù)段)。 可以使用應(yīng)用內(nèi)保護(hù)機(jī)制處理結(jié)果(True / False)。


    VMProtectDecryptStringA

    const char * VMProtectDecryptStringA(const char *Value);

    VMProtectDecryptStringA函數(shù)解密ANSI字符串常量。要解密常量,必須將其包含在受保護(hù)對象列表中。


    VMProtectDecryptStringW

    const wchar_t * VMProtectDecryptStringW(const wchar_t *Value);

    VMProtectDecryptStringW函數(shù)解密Unicode字符串常量。 要解密常量,必須將其包含在受保護(hù)對象列表中。


    VMProtectFreeString

    bool VMProtectFreeString(const void *Value);

    VMProtectFreeString函數(shù)釋放為解密字符串分配的動態(tài)內(nèi)存。其實(shí)沒有必要釋放內(nèi)存,但是如果你一定要釋放內(nèi)存,就必須使用這個功能。如果 VMProtectDecryptStringA / VMProtectDecryptStringW 第二次使用相同的參數(shù)而不破壞以前解密的字符串,則不會分配額外的內(nèi)存。

    VMProtect在線訂購,享受特別優(yōu)惠噢~    立即搶購>>>

    Aspose新版本

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();