近年來(lái),游戲反篡改技術(shù)Denuvo因其對(duì)游戲運(yùn)行效率的潛在負(fù)面影響,持續(xù)引發(fā)玩家與開(kāi)發(fā)者之間的激烈爭(zhēng)議。盡管業(yè)界普遍懷疑其是導(dǎo)致游戲卡頓與幀率問(wèn)題的根源,但相關(guān)技術(shù)細(xì)節(jié)此前一直缺乏深入剖析。近日,由技術(shù)博主和程序員主導(dǎo)的分析,首次較為清晰地揭示了Denuvo可能損害性能的內(nèi)在運(yùn)作機(jī)制。

據(jù)技術(shù)博主Nathan Baggs與程序員@valigo的分析,Denuvo的核心保護(hù)原理在于將游戲的部分關(guān)鍵代碼封裝在一個(gè)自建的“虛擬機(jī)”環(huán)境中。這意味著,原本為直接、高效在CPU上運(yùn)行而編譯的機(jī)器指令,會(huì)被先轉(zhuǎn)換為此虛擬機(jī)自定義的一套指令集。
這個(gè)基于堆棧的虛擬機(jī),本質(zhì)上是一個(gè)由軟件模擬的“CPU”。游戲執(zhí)行時(shí),該虛擬機(jī)再通過(guò)即時(shí)編譯技術(shù),將其內(nèi)部指令二次編譯成真實(shí)CPU能理解的代碼。然而,在這一轉(zhuǎn)換與再編譯過(guò)程中,Denuvo會(huì)植入大量冗余的跳轉(zhuǎn)指令和經(jīng)過(guò)混淆的代碼,迫使CPU的指令流水線與分支預(yù)測(cè)單元進(jìn)行大量無(wú)效運(yùn)算。
更深層的影響在于,Denuvo的代碼包裝流程會(huì)打亂游戲開(kāi)發(fā)時(shí)精心優(yōu)化的邏輯結(jié)構(gòu)。原本為提升性能而設(shè)計(jì)的緊湊循環(huán)、高效內(nèi)存訪問(wèn)模式和最優(yōu)指令序列,在經(jīng)過(guò)虛擬機(jī)處理后,其優(yōu)化效果大部分被破壞。同時(shí),現(xiàn)代CPU高度依賴緩存命中率和推測(cè)執(zhí)行來(lái)提速,而Denuvo以非標(biāo)準(zhǔn)模式頻繁重構(gòu)代碼,極易導(dǎo)致CPU緩存失效,從而嚴(yán)重拖累整體處理效率。
簡(jiǎn)而言之,所有這些復(fù)雜的技術(shù)保護(hù)措施,包括定時(shí)驗(yàn)證、設(shè)備指紋檢測(cè)和完整性校驗(yàn),都在持續(xù)增加CPU的額外計(jì)算負(fù)擔(dān)。其直接代價(jià),便是玩家在游戲中實(shí)際感受到的加載時(shí)間延長(zhǎng)、畫面卡頓以及幀數(shù)不穩(wěn)定。
Denuvo在游戲行業(yè)內(nèi)的評(píng)價(jià)一直較為矛盾,許多采用該技術(shù)的工作室都面臨著玩家社區(qū)的批評(píng)壓力。截至目前,Denuvo的開(kāi)發(fā)者尚未對(duì)此次技術(shù)分析的具體結(jié)論做出正式官方回應(yīng)。























主題美化




浙公網(wǎng)安備 33010502007447號(hào)