為什麼守望先鋒外掛功能較為單一而絕地求生外掛飛天遁地無所不能?
守望先鋒的外掛,無非透視自瞄兩大功能(應該是單純的滑鼠模擬和內存讀取或者封包讀取),而絕地求生的外掛基本上只有想不到沒有做不到(應該已經涉及內存修改和數據包修改),為什麼呢?
其實就是程序設計有問題。
守望先鋒是:你告訴伺服器你朝某某坐標開了一槍。伺服器告訴你,你打掉了半藏的腦袋。絕地求生是,你告訴伺服器,我打掉了某人的腦袋。伺服器:哦。
首先,一個遊戲的外掛功能有多少,取決於遊戲的漏洞有多少。漏洞越多,外掛越多。具體來說,一般做網遊,都把重要的數據運算交給伺服器開完成,客戶端只接受結果。但是在遊戲設計界有一朵奇葩,我不是針對藍洞,我是說,所有的韓國遊戲公司,都是奇葩。只要韓國做的網遊,所有數據都是本地運算,伺服器完全不管驗證,從傳奇到奇蹟,CF,DNF,還有如今的吃雞,全是如此。韓國網遊簡直就是外掛製作者的天堂。只要是韓國網遊,外掛的功能完全取決於,想像力!以FPS為例,如果彈道是隨機的,那麼再牛逼的人也做不出來滑鼠宏。但如果彈道是固定的,第二槍永遠比第一槍抬高0.5度,那做滑鼠宏簡直太容易了。即使彈道是隨機的,如果彈道是本地生成的。。。。。。啥?你說連是否命中都是本地判定,伺服器連彈道在哪都不管?來來來,給你個掛,能八百里外一槍爆頭!外掛橫行不是虛幻4的問題,使用虛幻4的網遊不等於能方便開發出有效的外掛。如果守望先鋒是用虛幻4開發出來的,外掛花樣一樣少。
絕地求生給我的感覺是在最初開發的時候就沒有半點的仿掛的意識和前後端設計,不是沒有一點是沒有半點。
大家玩單機(手游也算)的時候都接觸過修改器吧?其中有一項重要而基本的功能就是修改內存中的值。
假如你的人物血量還有 99,只要你定位到了這個儲存血量的值的內存地址,然後將值鎖定或者調整到極大,那麼你就相當於無敵了,非常簡單的做法。在絕地求生以前的外掛裡邊,就有兩個能完全凸顯出這個遊戲絲毫不在意外掛般的開發過程。
一個是無限子彈,一個是無敵。前者可以鎖定子彈數量,後者可以鎖定血量。就跟玩單機遊戲開修改器似的,但它畢竟是個網遊,它還有服務端。但是顯然它的服務端計算客戶端的數據時完全不驗證數據的合理性。
包括加速,鎖血,鎖子彈、加快彈速 這類暴力掛都是極其容易封的,基本是必封無疑,因為太好檢測了。
不是那麼暴力的,還有子彈的穿牆和自動追蹤。
完全不暴力,很難封的例如透視和自瞄(不是無腦自瞄)。
路飛掛,武器放大這種作用不太大但是建模都被修改的掛都出來了(還不是單機自慰)… 可想而知這遊戲當初開發的時候真的沒啥防掛意識。。
———— 最後:
有一些玩家受夠了外掛之後會說這遊戲遲早被外掛毀掉。
其實這種言論看似挺無腦的,但是假若 Bluehole 以後的開發不把仿掛放在首位的話… 看樣子被毀是遲早的。(當然還是有部分以前的無腦掛失效了,證明官方還是在彌補這些問題)至於依靠數據檢測封掛什麼的,只要不是實時的都沒什麼用。因為有相當多的人買的黑號開掛,等別人爽完了你再封有個卵用。。黑號 10 - 20 元一個,花得起錢開掛的又不是買不起。同時開發外掛的也會利用這些號來測試防封效果,所以其實是官方一邊在加強基於數據的外掛行為分析,而外掛也越來越難以分析。只要你不能在客戶端和服務端即時的檢測出外掛並讓它無效,都是沒法根絕的(除了無法避免的外掛)。
記得第二三賽季外掛橫行時,我們經常三肉一堡壘打的對面外掛滿臉血,一般外掛都用76麥爹裂空這種即時彈道英雄,開個掛用戶體驗這麼差的遊戲,帶老闆上分如上墳,還要被普通玩家全程奚落,一點當爺的感受都沒,還玩個蛋。
現在到了六賽季,滿地跑的都是槍穩如掛的炸魚和代練,也習慣了……震驚。連外掛都要拿守望跟吃雞比???
odk被舉報了:)
那我就認真答題,因為吃雞本來不準備好好做這遊戲所以沒往這方面措施想,然後現在火了準備補救一下。守望先鋒本來就是暴雪心血的邊角料做的,邊角料也是大型邊角料,這能一樣嗎.....不過吃雞現在開始懟外掛了。不敢抖機靈了要被舉報的害怕。舍友吃雞的輔助我自己寫的,屁股?玩的嗨呢,沒空搞那玩意(半藏隨緣箭,打哪看緣分)——————biu———biu———-biu————————-現在已責令舍友換高DPI的電競滑鼠,並重裝系統,現在是個習慣按上下左右但又沒什麼卵用的吃雞好騷年……滿意了?
看了別的答主的回答。。。補充一下
實際上絕地求生這種一張地圖100個人的遊戲,單純在伺服器的開發角度、維護角度而言,難了不是一個檔次
首先,遊戲中伺服器和客戶端交互的消息單條長度是有限制的。一般遊戲一條消息最長大約幾KB左右。但不管怎麼樣,伺服器在伺服器層面一直都要去考慮整局遊戲的進度,一般是一個進程接收數據,然後一個進程去處理。FPS的難點在於各種彈道計算,以及對手感有嚴格的要求,也就是說數據交互不能太慢,那麼頻繁的驗證肯定是不可能的,那樣太花時間。驗證一定是在某種程度上的,有部分計算一定是要在客戶端完成的,以現有的伺服器性能而言
100個人,差不多快是OW的十倍了。也就是說,如果驗證的數據一樣多,代碼效率相同,那麼絕地求生單個伺服器性能得是OW伺服器的近十倍。這還是不考慮地圖的情況。考慮到地圖的情況,分散在地圖裡的不同位置的人物,各種阻擋計算,達到相同的效果,難度真的太高
還有一個情況就是,韓國的國情不同。韓國國內對外掛的懲罰很嚴格,違法風險比我們高得多,所以很多遊戲從剛開始就沒有過多地考慮外掛問題。曾經的各種韓國遊戲,在國內火了以後,外掛問題一個不少,一樣的道理
以下是原回答
-----------------------
首先你要明白外掛的原理。
從前風靡的很多外掛是利用伺服器和客戶端之間的校驗方式存在缺陷來實現的。從前的很多遊戲,伺服器對客戶端發送的數據校驗很少,甚至只是充當了分發數據的角色,根本不去校驗數據,那麼對面發過來多麼玄幻的數據那都能反映到遊戲里,就是各種瞬移各種透視之類的
還有部分外掛是監視遊戲進程,直接讀取某部分在客戶端上不會顯示的數據,現在這類外掛少了很多,當然也不是沒有,這就要看客戶端的措施了,也是可以解決的
OverWatch是暴雪內部打磨許久的作品。FPS遊戲對遊戲數據的時效性很敏感,所以校驗肯定會難不少,但也不是沒法做。在外掛檢測和校驗這塊,有WOW這個充足的經驗,OW對外掛的防範肯定是很好的,而且OW的玩法很單一,娛樂性也較為單一,外掛種類也會僅限於戰鬥類外掛
絕地求生這款遊戲,從上線至今,Bug無數,你還能指望團隊會對校驗模塊做多大的努力呢?
你可以假裝守望先鋒的客戶端是一個視頻播放器和鍵鼠操作發送器
因為守望先鋒用的技術不同,守望先鋒客戶端所有和遊戲業務相關的邏輯全部都會在伺服器驗證一遍(注意這個全部是一個不漏)所以逼迫外掛只能模擬玩家操作(自瞄)而無法篡改操作結果。
換句話說,守望先鋒業務通訊的設計思路和吃雞不是一個次元的。吃雞業務通信本質上和國產垃圾網友沒區別,外掛滿天飛不奇怪。
再換句話說,守望先鋒比吃雞牛逼,就這樣。做外掛的人碰到守望先鋒這種針扎不進,水潑不進的體系,能折騰的空間很小。
ps:吃雞買了只玩過一次。這種垃圾遊戲連國產遊戲都不如,騰訊都能做個比他更好玩的。現在踩風口一時爽,就等著被國人吃得連骨頭都不剩吧。
具體參考這個,守望先鋒的策略和魔獸不太一樣,但思路差不多。https://www.zhihu.com/question/26072198/answer/32073061別贊了,各位,如下面評論所說,這條回答沒什麼技術含量,我只是表達我想說的,大家都挺忙的,偶爾刷刷知乎,我也不想把時間浪費在和噴子撕比上,就這樣
分割線……………………因為絕地求生這個遊戲就是拿虛幻四的東西東拼西湊出來匆匆上線的快餐,包括他裡面的武器模型,建築模型,甚至幾個人物模型,都是從虛幻四商店打包買的,代碼什麼的我不懂,不過既然一個遊戲連美術都沒有一套完整的設定,其他方面你認為他會下多大功夫?(更別說漏洞,bug以及fps共有的外掛問題了),個人認為爛洞出這款遊戲本身目的是撈錢開發別的遊戲,沒想到無心插柳柳成蔭,超越了h1z1成為爆款。而守望先鋒畢竟是在在泰坦的廢墟上成長起來的,個人認為打磨成度和對外掛預防相對匆匆上馬的絕地求生還在一定的可控範圍內。好在爛洞現在也意識到了這款遊戲的價值,成立單獨的pubg工作室,亡羊補牢般地優化和封掛雖然收效甚微,但就昨天更新後的效果看也是有一定起色的,絕地求生未來如何,拭目以待吧。因為OW大部分的外掛暴雪自己做出來添加到英雄技能裡面去了23333OW這個遊戲,給你飛天遁地,自瞄透視,也不一定打的贏,你開掛所帶來的優勢,是一些英雄特性或者技能可以完美counter的,比如一個自瞄76,麥克雷,你再准,也穿不過護盾,被閃光六連也得死,dva騎臉你也沒輸出,所以嘛,ow外掛給玩家的提升上限很低,所以之前ow外掛橫行的時候,B站多的是爆錘外掛的視頻,開個掛還打的這麼艱難的遊戲也就只有ow了吧23333
暴雪開發遊戲,開發的時候就奔著史詩級巨作去的,自然可以解決好開發的架構問題,按照軟體工程進行開發。這樣後期維護會變成很容易。外掛也就比較好控制。製作外掛的難度就很高。
而韓國的遊戲都奔著賺一筆就跑這個思路,不做好架構掄著膀子就上了,因為很可能上市馬上就死了,只要功能能實現,坑一筆錢就行。但是總有一些韓國遊戲成為勝利者脫穎而出,比如地下城,永恆之塔,CSonline。這是時候他們想起了維護,但是因為開發的時候架構太差了,開發一時爽,維護兩行淚。即使運營商不斷的出補丁,不斷的封外掛,外掛製作人還是可以很容易製作出外掛。最後他們悲哀的發現,與其維護這個遊戲,還不重做呢。遊戲當然最後就沒人維護,悲哀的死掉了。
說到底,還是因為窮。
兄弟,買自瞄掛嘛?
不買,並換個76刷出大來給你看。
兄弟,買穿牆掛嘛?
不買,並選個大鎚把你砸牆裡面扣都扣不出來。兄弟,買飛天掛嘛?
不買,並選個法雞把你頭都錘爆。兄弟,買透視掛嘛?
不買,並選個黑百合開大教你做人。兄弟,買隱身掛嘛?
不買,並選個黑影和你捉迷藏。兄弟,買無敵掛嘛?
不買,並選個死神開了shift在你面前飄啊飄。兄弟,買瞬移掛嘛?
不買,並選個閃光你都抓不住。兄弟,買鎖頭掛嘛?
不買,午時已到。兄弟。。。算了不賣掛了。。。遊戲遊戲引擎是虛幻四,也就決定了開發出來內部框架基本上算是半開源了吧。——個人意見
各個論壇上都有人針對遊戲開發進行各種逆向調取遊戲信息來了解遊戲開發成果。還有些論壇上及時更新遊戲的offsets。由於pc平台程序語言問題,編譯後變成了低級語言,不經過大量的反彙編是看不出來遊戲內容怎麼安排的。所以我們可以看ea的遊戲,ubisoft的遊戲外掛開發內容是如何的。單版透視自瞄午後坐力就頂天了。也可以開發更多內容,不過想要飛天遁地,還要了解遊戲內如何計算人物模型互動內容的,比如搞不清楚下墜和平地開槍的方式是否一致,然後貿然在下墜的時候給定一個平地的內存寫入,之後又發現官方專門針對下墜對於開槍精準度的干擾進行過研究,於是就還需要了解裡面演算法是如何的(當然寫外掛我直接把你這些數值歸零了反正我也不開發遊戲)。
關於內存修改bb兩句,c++下定義一個readmemory調用內存地址,然後再定義一個writememory改寫內存地址內容就好,調用kernel32.dll即可。c#還需要去單獨使用.net給出的一些命名空間去調用內存數據。想不想改就只是個人想法了。很多遊戲有指針掃描,外部程序調用了本遊戲指針我檢測出來就要封你號,但是我ring0你也ring0我寫個驅動到你掃描白名單不就完了嘛。所以我也不清楚為什麼守望沒有飛天遁地啥的,可能跟伺服器數據後台掃描有關來著吧,反正吃雞那伺服器別說管理了,經常打著打著卡出來。
大體上,虛幻引擎作品的人物骨骼框架基本一致,動作方面是通過添加額外的動作捕捉或著自定製內容作為新內容應用到原生框架上,於是骨骼的地址很好逆向出來,d3d或者拿其他圖形繪製工具換個顏色並導入台前就好。知道骨骼地址,然後,類推,類推人物方位也不是很難。最簡單就是子彈下墜,子彈擴散和人物速度等,內存空間中找出指針然後把值改為想要的數值就好。吸人過來打參考各類dnf吸怪秒怪的內容,現在不知道還有沒有,調取其他玩家方位坐標就好了,然後看看「海賊王」外掛的視頻,估計是胳膊從肩膀上卸下來了,人物骨骼修改基於客戶端安裝包內容,我把骨骼內部節點斷開就好,更多功能看腦洞了,開發難度並不大……
拿出虛幻引擎來看,拿這個引擎開發出來的遊戲只需要每一份遊戲提供百分之五的銷售價格給他們就可以使用了。不發售也可以拿來用用看別人整合的遊戲框架如何。國內很多廠商也能這東西做過宣傳,只要不出遊戲,買個場景模擬模擬就好。你看一人一狗那種,別人直接叫美工p個輻射或者刺客信條就完了,我連買個遊戲框架拿來只做的錢都省了(這句話純粹吐槽)。東西整合了很好用,渠道也很流暢,epic game網上自己下就行了,剩下時間一點一點了解如何逆向一下,幾個月時間就明白原來是這回事了。外掛能寫出演算法的很少見了,自瞄算是一個吧,範圍提醒也算半個吧……
遊戲數據和內容方面可以參考另外一款虛幻引擎官方出品的免費吃雞遊戲Fortnite,不過這遊戲是免費對大眾開放的所以可能功能開發不完全,想玩的也可以去玩一下,自從堡壘之夜BE上線之後是真的乾淨(才怪)。封號零風險,大不了重新申請,所以開發外掛的價格也低,估計也有人賣來著,而且說實話那遊戲就是一個更簡單版的吃雞,我看過幾篇代碼,BE沒上線前一千來行的代碼包括了透視自瞄物品午後坐穿牆等等,裡面一大半還是用來給物品和數據地址定義用的……
所以說啊,開發外掛不難,就那麼一回事,一周兩周拿個cs照搬就能寫出來,找個沒反外掛的也去試試很快就搞定了。難的是你想清楚遊戲的邏輯思路是如何的,難的是如何寫才能讓人物的腳與地面貼合而不是經常有一部分陷進去,難的是遊戲內光線粒子的計算,漫反射的反射率,不同表面吸光效果,反射到人物身上呈現出什麼效果,還有這光線代碼怎麼精簡才能優化的讓前兩個世代的顯卡也帶得動……
遊戲外掛和遊戲修改器一樣。難度不高,全靠智商稅。你76開大還是被大鎚擋住
你麥爹開大還是被大鎚擋住你百合開大……百合換奶我們能贏暴雪現在主攻演員,都用到AI了。而吃雞還在解決外掛的路上。不過吃雞也不需要解決演員問題。
沒吃過,簡單說下,這就是信客戶端和信服務端的區別。
信客戶端,所以的計算過程在本地,計算完後的結果傳到伺服器,這種設計問題很明顯好嗎,抓個包,破解協議,想怎麼玩不行,都不需操作,這種漏洞N年前就被國人玩爛了,還記得當時一款韓國遊戲在本國很火嗎,傳到中國分分鐘外掛滿天飛,不得不撤,從此國內遊戲開發基本都是信服務端,信客戶端太naive了。
信服務端:客戶端就是個播放器,只傳輸入,所有的驗證和計算以及狀態記錄都在伺服器進行,當然壞處也很明顯就是會增加伺服器壓力,但是可以加機器啊,相比外掛哪個好?像LOL這款遊戲就是信服務端,網速卡的時候你會發現自己對線,單帶,補兵不卡,一打團就卡,而且人頭總是隊友額,為啥?因為你的網速本來就卡,打團涉及到的網路包增加,就會更卡,其次等你的傷害傳到伺服器,隊友已經拿到人頭了。
守望里很多技能就是照著掛來模仿的。
飛天(法姬)隱身(黑影)透視(百合)瞬移(裂空)自瞄(76)秒殺(路霸)無敵(小美)但是現在吃雞看到的掛都還是人層面的,在一個遊戲房間里各種為所欲為而已
而ow的掛有出現過神級別的:炸房掛。
在炸房挂面前,其他掛都得白瞎趁著無聊,黑一下。
首先,Fps有幾個解決不了的問題。
1.自瞄
2.全圖
3.貌似暫時還沒想到。
從本質上,為什麼解決不了,是為了手感。
也就是不得不把部分數據丟到客戶端,為了更完美的體驗。
比如,你如果採用不在視角內,看不到人的方式。
那麼意味著,每出現一次在視角內都得重新發送玩家數據。
那麼這就要求服務端保持客戶端視角,這個超難。。。。。(不是說做不了,而是成本太高。)
然後就是操作延遲了,想像一個出現有延遲的對手,閃來閃去就知道了。
那麼第二個問題,在吃雞上,哪類外掛理論上是允許出現的?
1.自瞄
2.全圖
看著很完美么,那麼來解決下剩下的事情。
在一個白人的PVP戰鬥中,如何保持同步問題。
1.全服服務端判定
我打了一槍,伺服器說好,你在什麼時候,什麼角度,什麼方向,打了一顆什麼子彈。
這個怎麼保持突突突的手感呢。。
這個就很考驗技術能力了,暴雪為此開發了一套服務端和客戶端同步使用的腳本,嗯還有IDE和語言。據說開發了一年多。吃雞?這負優化能力,不存在這種能力的。
2.不管了,反正玩家突的爽就好了,外掛出來再說。
客戶端:我從A走到了B
服務端:好的。
客戶端:我突了B一槍
服務端:好的。
等等,哪裡不對。。
如果是這樣那麼就沒那麼容易了。
應該是這樣:
客戶端A:我從A走到了B
服務端廣播:客戶端A說,我從A走到了B
客戶端B:伺服器在吃(shi)
服務端廣播:伺服器在吃(shi)
校驗?好的?不存在的。。
就這轉發廣播能力,依然天天炸。
絕對懷疑這幫人有沒有服務端這麼一說了。
守望先鋒作為暴雪的第三大遊戲。不論是畫質,人物還是技能都做的相當的精緻。絕地求生的那種遊戲,畫質還沒有CF好,遊戲漏洞可以說相當的多。各種BUG,稍微牛一點的黑客隨便動動手就能做出任何形式的外掛。但守望不同,畫質做到極致,又有暴雪大公司的技術支持,就算你能找到BUG,最多只能做做透視自瞄。每月系統更新,更加不斷完善遊戲的平衡。你的技術再牛也做不贏敢不上別人暴雪的技術支持。
不要覺得是因為藍洞是小公司沒有經驗,他就是不用心啊,虛幻這麼好的引擎他用的這麼差,作為一個用虛幻開發遊戲的透明,藍洞真丟人,模型都是虛幻提供的。守望雖然相比其他暴雪遊戲較快餐,也沒有十年磨一劍這麼誇張,但好歹人家用心啊。藍洞最早更新bug沒少,倒是出了箱子系統???吃相挺丑,說白了他們看人多,根本不擔心遊戲被外掛毀了,而事實上就算有掛玩家也沒減少。藍洞是真的噁心到我,一是更新優先箱子系統,二是不知道自己是個什麼破玩意要告epic。
推薦閱讀:
※如何看待五五開現在的狀況?
※在守望先鋒中如何準確地看出對方是否開掛?
※五五開開掛事件背後的手是什麼?
※如何看待《守望先鋒》外掛猖獗的問題?
TAG:編程 | 計算機網路 | 遊戲外掛 | 守望先鋒? | 絕地求生:大逃殺PUBG |