控制時(shí)間流速?變速外掛案例及原理分析

游戲作為一種載體,承載了制作者天馬行空的想象,在游戲世界中,玩家可操控角色來施展各種“超能力”,這種新奇的體驗(yàn),讓人從現(xiàn)代生活中抽離片刻,也正是游戲的魅力所在。
近期,任天堂旗下的動(dòng)作類游戲《獵天使魔女3》正式發(fā)售,秉承前作的西方傳說背景,加上大膽的美術(shù)風(fēng)格、出色的人物刻畫及優(yōu)秀的打擊感,吸引了無數(shù)擁躉。

而游戲中主角貝優(yōu)妮塔的核心技能「魔女時(shí)間」更是為玩家津津樂道,通過特殊連招觸發(fā)的「魔女時(shí)間」是一種控制時(shí)間流速的魔法,可在敵方近乎靜止的情況下盡情輸出,享受流暢的打擊快感。
而這種在游戲世界中存在的“超能力”,正以另一種形式,嚴(yán)重破壞著游戲環(huán)境。那就是——變速外掛。
眾所周知,游戲在運(yùn)行中需要以幀為單位播放畫面,而計(jì)算每幀動(dòng)畫播放所需時(shí)間,則需要調(diào)用C庫函數(shù)來獲取系統(tǒng)時(shí)間。如:
// 獲取當(dāng)前精確時(shí)間
gettimeofday;
// 獲取系統(tǒng)時(shí)間
clock_gettime;
這類外掛的實(shí)現(xiàn)原理就是通過修改獲取到的系統(tǒng)時(shí)間,來加快或放慢游戲內(nèi)的時(shí)間流速。
除了常見的調(diào)用系統(tǒng)時(shí)間,部分變速外掛還可通過調(diào)用游戲引擎內(nèi)時(shí)間實(shí)現(xiàn)變速。如光環(huán)助手,通過調(diào)用UnityEngine_Time_set_timeScale,傳入想要加速的倍數(shù),來實(shí)現(xiàn)全局加速效果。

因游戲玩法不同,變速外掛會(huì)造成不同的影響,如音樂類、跑酷類游戲可以通過放慢速度,大幅度降低游戲難度。

而涉及到養(yǎng)成的游戲則可以加速材料收集進(jìn)度,縮短游戲的養(yǎng)成周期。

這類外掛會(huì)嚴(yán)重破壞游戲的公平性,引發(fā)正常玩家不滿,如果不加以制止,會(huì)急劇縮短游戲的生命周期。
針對(duì)游戲面臨的變速外掛問題,F(xiàn)airGuard定制了專門的應(yīng)對(duì)策略,該方案已接入多款熱門游戲并驗(yàn)證了出色的保護(hù)能力。
變速無效化功能
采用FairGuard獨(dú)家無導(dǎo)入函數(shù)SO加殼技術(shù),高強(qiáng)度加殼保護(hù)游戲內(nèi)代碼,經(jīng)大量實(shí)機(jī)測試,可無視任何變速器及其變種,使其變速功能無效化。
反引擎級(jí)變速
深入游戲引擎底層,對(duì)引擎級(jí)的變速進(jìn)行深度檢測,獲取具體變速倍數(shù),可實(shí)現(xiàn)精準(zhǔn)封號(hào)打擊或閃退處理。
