• <menu id="w2i4a"></menu>
  • logo VMPsoft中文文檔

    外部地址


    VMProtect是新一代軟件保護(hù)實(shí)用程序。VMProtect支持德?tīng)柗?、Borland C Builder、Visual C/C++、Visual Basic(本機(jī))、Virtual Pascal和XCode編譯器。

    VMProtect最新版下載

    在保護(hù)應(yīng)用程序時(shí),VMProtect 會(huì)利用在編譯期間釋放的空間來(lái)滿(mǎn)足自身需求,包括存儲(chǔ)各種數(shù)據(jù)(虛擬化或變異代碼、VM 解釋器等)。因此,當(dāng)從程序的其他部分跳轉(zhuǎn)到受保護(hù)代碼“內(nèi)部”時(shí),可能會(huì)發(fā)生某些情況。執(zhí)行此類(lèi)跳轉(zhuǎn)的地址稱(chēng)為外部地址。當(dāng)使用代碼標(biāo)記并且在標(biāo)記內(nèi)執(zhí)行從程序的非保護(hù)部分跳轉(zhuǎn)時(shí),可能會(huì)發(fā)生上述情況:

    VMProtectBegin(無(wú));
    因?yàn)槲遥?0 到 10 做
    開(kāi)始
    公司(J);
    VM保護(hù)結(jié)束;
    結(jié)尾;

    在匯編代碼中,這個(gè)循環(huán)看起來(lái)像:

    -------------- 標(biāo)記開(kāi)始 --------------
    0044D12C 移動(dòng) eax,0000000B
    0044D131 公司 ebx
    --------------標(biāo)記結(jié)束----------------
    0044D132 dec eax
    0044D133 jnz 0044D131

    顯然,當(dāng)0044D12C和0044D131地址的命令被虛擬化,并在0044D133執(zhí)行非虛擬化條件跳轉(zhuǎn)時(shí),會(huì)出錯(cuò),因?yàn)?044D131地址包含各種數(shù)據(jù)或只是垃圾而不是原始代碼。在這個(gè)例子中,0044D131 是一個(gè)外部地址。

    啟用“調(diào)試模式”選項(xiàng)后,INT 03 命令將替換原始代碼。這是一個(gè)簡(jiǎn)單的斷點(diǎn)和調(diào)試器命令。當(dāng)受保護(hù)的應(yīng)用程序在調(diào)試器下執(zhí)行并且控制被傳遞到 0044D131 地址時(shí),斷點(diǎn)被激活,并且調(diào)試器窗口顯示給定跳轉(zhuǎn)的起始地址。

    當(dāng)檢測(cè)到此類(lèi)跳轉(zhuǎn)時(shí),我們建議檢查所有代碼標(biāo)記,看它們是否設(shè)置正確。如果未標(biāo)記受保護(hù)代碼,或者無(wú)法更改程序邏輯以避免在受保護(hù)代碼內(nèi)部傳遞控制權(quán),則應(yīng)在 GUI 中將此類(lèi)地址標(biāo)記為外部地址。

    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話咨詢(xún)

    客服熱線
    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); })();