最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

關(guān)于Arcaea在3.10.0版本加入的反作弊參數(shù)的逆向分析

2023-08-16 10:31 作者:林文軒01  | 我要投稿

在本文寫下的今天,玩家們正在因?yàn)锳rcaea最近的開掛事件和Guy對于掛的態(tài)度吵得沸沸揚(yáng)揚(yáng)。Lowiro宣稱自己封掉了257個(gè)擁有異常游玩記錄的賬號(hào),而玩家們屢屢報(bào)告誤封號(hào)事件并且普遍認(rèn)為Lowiro完全沒有檢測作弊的能力(其中不乏我們耳熟能詳?shù)睦碚撏婕液蚏anker),更有甚者斷言稱257個(gè)被封禁賬號(hào)有200個(gè)是誤封號(hào),而Lowiro也并沒有披露足夠的技術(shù)細(xì)節(jié)來證明這些玩家有作弊行為。


而Lowiro實(shí)際上在Arcaea 3.10.0版本的時(shí)候和LinkPlay一起更新了反作弊參數(shù),這個(gè)參數(shù)會(huì)在玩家打出Pure Memory或以上的成績的時(shí)候隨著成績一起進(jìn)入提交表單(也就是表單中的&chart=),整個(gè)chart因?yàn)椴捎昧薒owiro傳統(tǒng)藝能的API加密而看上去像是一串沒有任何規(guī)律的二進(jìn)制數(shù)據(jù)。截至目前4.6.1版本,里面儲(chǔ)存了包括不限于UserID,TouchData,PlatformID,ScoreState,ChartInfo多種游玩時(shí)產(chǎn)生的數(shù)據(jù)。


整個(gè)$chart=參數(shù)會(huì)提交最近50首歌曲的游玩數(shù)據(jù),并且不會(huì)因?yàn)橛螒蛑貑⒍刂眠@些數(shù)據(jù)(Arcaea本體會(huì)在游玩之后把成績序列化到一個(gè)看上去“完全無關(guān)”的文件并且加密),即使成績并沒有達(dá)到提交反作弊的標(biāo)準(zhǔn)線客戶端依然會(huì)記錄下數(shù)據(jù)。在加密方面,Lowiro使用了一個(gè)兩層的加密,第一層加密使用的他們特化版本的API加密(和加密游戲API地址的方法完全一樣,經(jīng)查證是LEA算法的一個(gè)魔改變種),第二層加密是較為簡單的Xor加密方法,使用了一些游玩中產(chǎn)生的數(shù)據(jù)來做為密鑰來做到混淆的目的??偟膩碚f,算法的目的并不是為了保證數(shù)據(jù)在傳輸?shù)倪^程中安全而是為了保證此參數(shù)不被逆向工程之類的手段來分析并且偽造。


截止到本文寫下的Arcaea客戶端版本(4.6.1),Lowiro在數(shù)據(jù)中加入了12種的結(jié)構(gòu)化二進(jìn)制數(shù)據(jù),用一個(gè)Byte來表示數(shù)據(jù)的類型。Lowiro在游戲中硬編碼了每一個(gè)時(shí)間點(diǎn)會(huì)儲(chǔ)存下來的數(shù)據(jù),并且用Timing的形式儲(chǔ)存在了每一個(gè)歌曲數(shù)據(jù)的頭中。其中,玩家最關(guān)心的就是TouchInfo。

Lowiro截止至4.6.1版本所有加入的二進(jìn)制結(jié)構(gòu)化數(shù)據(jù)
被二進(jìn)制格式儲(chǔ)存的Timing,對應(yīng)每一個(gè)二進(jìn)制結(jié)構(gòu)化數(shù)據(jù)被儲(chǔ)存的時(shí)間點(diǎn)


TouchInfo二進(jìn)制結(jié)構(gòu)記錄一些了從cocos2d-x引擎中直接采集的Touch事件數(shù)據(jù)。如下圖,PauseCount為點(diǎn)擊游戲左邊Pause按鈕的次數(shù),TotalTouchCount為在游戲開始之后觸摸屏幕的次數(shù)(或者說是游戲捕捉到的觸控事件的總共次數(shù)),DeltaCount為滑動(dòng)的次數(shù)(即為屏幕在點(diǎn)擊到屏幕后。TouchCount為游戲捕捉到的觸控?cái)?shù)據(jù)的次數(shù),對應(yīng)著TouchList的容量。而TouchList儲(chǔ)存了一些浮點(diǎn)數(shù)據(jù),目前推測數(shù)據(jù)為Pressure(對應(yīng)了cocos2d::Touch::getCurrentForce())。


目前市面上的大部分外掛都是通過Hook來實(shí)現(xiàn)修改直接游戲判定數(shù)據(jù)的,所以并不會(huì)產(chǎn)生在Cocos的事件層產(chǎn)生觸控?cái)?shù)據(jù)。所以如果使用了此類外掛,TotalTouchCount的次數(shù)將會(huì)遠(yuǎn)遠(yuǎn)低于游戲內(nèi)Tap/ArcTap的次數(shù),而DeltaCount也會(huì)顯示出和Arc數(shù)量對應(yīng)不上的情況,這個(gè)時(shí)候Lowiro便可以認(rèn)定此數(shù)據(jù)為“異常數(shù)據(jù)”,進(jìn)而進(jìn)一步進(jìn)行警告封號(hào)等一系列操作。而此類數(shù)據(jù)特征明顯,使用批量腳本便可輕易識(shí)別,特別是Lowiro還在另外的數(shù)據(jù)加入了UserID,DeviceID和ScoreState來防止誤封或者借用設(shè)備的情況發(fā)生。

Codec10TouchInfo.cs的部分內(nèi)容
TouchInfo的一部分解析實(shí)例

對于模擬觸控等原理的外掛來說,我們?nèi)匀徊恢繪owiro有怎樣的操作來識(shí)別此類操作。我并沒有在數(shù)據(jù)中找到直接記錄觸控坐標(biāo)數(shù)據(jù)的結(jié)構(gòu),而支持壓力感應(yīng)的手機(jī)也是屈指可數(shù)。不排除Lowiro會(huì)在未來的版本加入更多的反作弊數(shù)據(jù)結(jié)構(gòu)來對抗此類外掛。


由此可見,Lowiro擁有比較完善的反作弊機(jī)制,可以一定程度上證明封號(hào)操作并不是完全的空穴來風(fēng),玩家對于Lowiro完全根據(jù)輿論的封號(hào)的指控也可以說是失實(shí)的。我們應(yīng)該放下對Lowiro的偏見,嘗試相信開發(fā)者在反作弊這種成本極高的操作上所付出的努力并且等待Lowiro的進(jìn)一步舉證。

目前此項(xiàng)目已經(jīng)內(nèi)部開源,需要的玩家可以私信我獲取部分代碼

Credit to Lost-MSth / Tiger0132

關(guān)于Arcaea在3.10.0版本加入的反作弊參數(shù)的逆向分析的評(píng)論 (共 條)

分享到微博請遵守國家法律
柳林县| 兴国县| 乐清市| 田东县| 巴中市| 云浮市| 岑巩县| 新龙县| 灵宝市| 远安县| 龙州县| 霍林郭勒市| 莆田市| 绥阳县| 罗源县| 平安县| 乌海市| 融水| 凌源市| 东方市| 德格县| 高尔夫| 临漳县| 弥渡县| 宜州市| 尼木县| 中山市| 阳泉市| 黎城县| 巨野县| 锡林郭勒盟| 津市市| 凉城县| 新泰市| 广水市| 城口县| 富源县| 保定市| 隆林| 淳化县| 遂川县|