卡維刪除大世界物品可能涉及更深層的邏輯
關于卡維刪除大世界交互物外掛的猜想? 這個外掛的原理可能跟草種子無關? 這個外掛和秒殺掛是同一種東西 為什么說外掛本質涉及到原神的運行邏輯, 即使刪除卡維也不能完全解決。 請耐心看完 (注,up猜想) 那么咱們開始。 這個外掛的本質并非什么草種子和卡維,而是原神服務端不檢驗云端數(shù)據(jù)和本地數(shù)據(jù)的匹配程度,就接受兵返回本地發(fā)送到數(shù)據(jù)。 首先咱們說一下傳統(tǒng)秒殺掛的簡單原理,就是修改本地數(shù)據(jù),相信大家有原神斷網,角色依舊能行動的體驗,原神打怪的邏輯是本地進行計算,然后上傳服務器,造成多少傷害,服務器再把這個打到怪物身上。至于你造成多少傷害,那不管服務器的事情,他只負責把這個傷害打到怪物身上,只要不太離譜就行。 那么角色的攻擊力,技能等等數(shù)據(jù)都是在本地內存里,我們只需要修改本地內存的數(shù)據(jù),比如我角色攻擊力是800,我給他在本地改成2000,再去打怪,服務器接到的就是2000攻擊力而不是800,服務器只負責把你的攻擊力造成的傷害返回,至于是800還是兩千,那不管我事。別太離譜就行,如果此時把攻擊力調到8萬,是不是就是秒殺掛了。 所以外掛是修改本地數(shù)據(jù),影響對服務器發(fā)送并返回的數(shù)據(jù) 那么為什么說刪除大世界物品的外掛和秒殺掛是一個東西呢?為什么說喝草種子肯能沒多大關系呢? 咱們說一下這個外掛的原理, 來看這兩張圖,他某個物品是否為草種子的判定邏輯。gad和bullet代表兩種物體,咱們把他成為可交互物,判斷你這個物品是不是可交互物,下面那個是你這個物品為可交互物后,判斷是否為草種子,那個value是一個全局變量,如果你這個可交互物的的數(shù)值為1,那么就可以判斷這個可交互物是草種子。 簡單來說就是,物體,怎樣的物體呢,交互物,是什么交互物呢?草種子,所以這個物體是一個名為草種子的交互物。 清楚這種邏輯之后,為什么標題說和草種子無關呢? 咱們看卡維的技能,卡維的技能是摧毀草種子,那么他的判定邏輯是什么呢? 先掃描范圍內的物體,然后判斷是否為交互物,如果是交互物,在判斷這個交互物是否為草種子,如果是那么就摧毀這個名為草種子的交互物。 即 是交互物,是草種子,摧毀, 達到卡維的技能效果,摧毀名為草種子的交互物, 可以看到草種子是摧毀交互物的一個限制, 外掛可能怎么樣做呢,上面說到可以修改本地的數(shù)據(jù),這時候咱們把卡維判斷交互物為草種子這一部給去掉,那么會變成啥樣。 掃描,判斷是否為交互物,如果是,不用判斷是否為草種子,直接摧毀。 即 是交互物 ,摧毀。 此時卡維的技能是什么效果, 摧毀交互物, 沒有草種子這個限制了。 就相當于原來卡維打元素方碑,元素方碑是交互物但他不是草種子,所以卡維刪不掉 但是現(xiàn)在去掉了檢驗草種子,那么只要元素方碑是交互物,就可以刪掉, 造成了卡維一個e炫沒元素方碑的結果。 那么外掛就是通過改變本地數(shù)據(jù),讓本來只能摧毀名為草種子交互物的卡維,變成了可以摧毀一切交互物。 此時卡維便可以摧毀大世界了。 綜上,為啥說這個外掛即使刪掉卡維也不行呢? 因為這個外掛的本質并非卡維,卡維可以刪除交互物只是表象。 那么本質是啥呢? 各位觀眾看到這里可能也發(fā)現(xiàn)這個外掛最大的問題在哪里了。 就跟秒殺掛一樣,你的角色本地數(shù)據(jù),是存在原神云端上的。發(fā)數(shù)據(jù)是你說攻擊力是2000就是2000嗎,我這存的可是800啊,但是他沒有去檢驗你發(fā)過來攻擊力是否是800,直接按2000返回數(shù)據(jù),你本地是啥我就返回啥。 那如果我去驗證一下呢,是不是就會發(fā)現(xiàn)問題了。 說到這里,大家就會發(fā)現(xiàn)卡維刪除大世界 的本質則是后端不校驗云端數(shù)據(jù)和前端即本地數(shù)據(jù)的匹配程度。 你本地說不用檢驗那就不用檢驗嗎?還真是,服務器不去看你本地是否和云端數(shù)據(jù)一樣,你在本地把卡維檢驗交互物是不是草種子這一步刪了,服務器接受和返回數(shù)據(jù)就不用檢驗了,直接就把結果,即刪除任意交互物返回去了。 并且返回去的結果會保留云端,你的交互物可就沒了。 所以說這個外掛能夠運行的本質其實是服務器不檢驗本地云端的數(shù)據(jù)是否匹配。 這時候,原神的程序員真就無從下手了, 因為現(xiàn)在的問題不是他們不會改,而是他們知道怎么解決,但是不能這么解決。 如果以上都是真的, 我提出一兩個猜想, 就沖這個外掛來說,真正麻煩的是這種外掛思路,看到這里都能意識到, 這個外掛原理和卡維,草種子啥的關系都不是特別多。 真正有用的就是一個摧毀物品的代碼, 為啥說改了卡維不管用呢? 因為代碼在這里,剛才我們說了可以改本地的數(shù)據(jù)。那么這個代碼可以出現(xiàn)在任何一個角色身上,這個代碼的目標可以是任何一個東西。 所以真正的解決方法只有加強云端和本地數(shù)據(jù)的檢驗。 但是如果是如此,為什么那群985程序員不做呢?還是那就話,想做,但是不能做。 這個東西存在肯定有存的道理,原神目前的某種運行邏輯極大 可能是依靠這種本地云端不檢驗的。 如果不解決這個問題,就會有千千萬萬種外掛出現(xiàn)。 所以,這個玩家們即使在這個外掛過去,也要注意防范。