熱點推薦

查看49327 回復132 收起左側

[學習交流] 學寫外掛必看感悟一個外行游戲輔助作者的寫掛經歷

?[復制鏈接]
神秘人士
神秘人士? 發表于 2015-7-13 13:45:47 閱讀模式
NBE微信公眾平臺
關注NBE好長一段時間了看到前一段時間有一個游戲輔助作者同行發的連載系列文章一個苦逼游戲輔助開發人員的自述真得是深有感觸所謂外行看熱鬧內行看門道看看評論有人說他是在吹牛逼有人說他是靠自己想象力天馬行空亂寫我也只能是微微一笑呵呵因為我也算是個外行

學寫外掛必看感悟一個外行游戲輔助作者的寫掛經歷

學寫外掛必看感悟一個外行游戲輔助作者的寫掛經歷

今天我也來分享一下自己的歷程吧是微微一笑還是呵呵都無怕所謂了

對于游戲輔助行業而言我屬于外行我本身算得上比較老的一代程序員了趕上了2000年互聯網泡沫的尾聲在學校的時候就喜歡搞一點黑客破解什么的但僅僅是出于興趣愛好畢業之后一直從事軟件開發相關的工作做過網絡游戲開過互聯網公司眨眼間在軟件行業里面混了十幾年了興趣原因經常混跡于當時的看雪學院小榕軟件綠盟論壇等膜拜各路大神的時候也在默默的積累技術

最早準備寫輔助是當時玩完美的游戲完美世界誅仙之類的網游現在的游戲輔助基本框架也都是在那個時候積累下來的因為搞傳統軟件研發養成的習慣輔助框架寫的質量還算可以并且文檔什么的也比較規范算是給現在的工作打下了比較好的基礎很多東西都可以重用當時有一個本地的游戲工作室想讓我給他們專職做輔助但是考慮到種種因素沒有答應后來輔助的開發進度也一拖再拖最后也逐漸不好意思和他們聯系了再后來工作越來越忙也就把這個事情放下了

再后來朋友的朋友找到我希望給他開發輔助當時有一搭沒一搭的聊因為自身收入還不錯所以也就沒有很上心再后來礙于朋友的面子加上對方一催再催只好答應對方

對方是一個不算大的網絡游戲工作室大約有60臺E3+32G電腦主機在當時算是不錯的配置了游戲工作室老板A是一個非常聰明能干的小伙子

A從輔助代理商人那里買的游戲輔助但是因為游戲工作室不大所以價格服務等方面都不能讓A滿意因為很久不碰輔助的東西了并且當時要做的游戲J3我也沒有玩過所以我讓A給我了一份他正在用的輔助經過分析之后感覺能做于是開始動工

當時的J3是有宏接口的并且出金思路主要圍繞試煉副本和幫會釣魚所以核心功能很容易就完成了先讓A跑起來在當時J3已經是被很多游戲工作室稱為夕陽游戲了開服時間太長了但是A認為J3是點卡游戲生命周期本身就會相對較長并且如果出金思路正確可以在做上至少1年現在看當時A的思路是非常正確的因為現在已經過去了一年半多了他們依然還在圍繞J3做

核心跑起來之后游戲工作室需要大量的人工去看機器并且因為J3自身的優化的問題單機的多開受到了極大的限制圍繞人工問題我又制作了控制臺可以同時監控本機各個窗口的角色等級狀態紅藍地圖/位置背包金錢體精幫貢等一系列信息這樣游戲工作室員工只需要看一眼控制臺就可以了解本機的所有窗口的掛機情況

圍繞效率問題我徹底修改了掛機方式通過降低渲染幀數的方式把幀數降低到了30秒一幀基本上算是解決了CPU占用過高的問題基本上前面提到的E3機器可以開48開沒有什么壓力這次的修改大約陸陸續續用了我半年的時間

至此輔助的整體框架已經和最初的設計天差地別了最初僅僅是要制作一個簡單的插件通過修改游戲客戶端的資源包加載到客戶端就可以了但是現在已經變成了一個主控臺通過主控臺自動批量啟動自動登錄支持卡位報警能夠運行自定義腳本能夠定時運行命令能夠定時關閉客戶端每周1周4停服維護然后針對客戶端能夠進行鎖屏能夠進行游戲內自定義腳本調試錄制等等等等

一切看上去那么美好我都深深的為自己的偉大創舉而內牛滿面

然而2014年暑假期間相信做J3的朋友都不會忘記J3開始大面積封停那段時間基本上起一批封一批起了就封再起再封A和他朋友的游戲工作室損失慘重那段時間也恰巧碰上我的工作也很忙只能晚上熬夜調試找問題找方案基本上那段時間每天只能睡三四個小時其余的時間要么做公司的事情要么在調試輔助

整整2個月的時間處于崩潰的邊緣因為嚴重睡眠不足上下班路上開車半個月三次事故其中有兩次發生在4天內也就是剛從4S店把車提出來的第二天就又來了一次事故所幸都是刮擦和追尾事故也沒有碰上對方是豪車前后兩個保險杠都換過了噴漆也免不了

期間不止一次想要放棄畢竟自己的工作收入也不錯加上這么多年的打拼也算是衣食無憂了真沒有必要這么拼命了然而A和他朋友的游戲工作室已經都切換到了我的輔助我有退路他們卻沒有退路

思量再三只能堅持終于通過分析客戶端和網絡封包找到了J3上報的檢測數據找到了規則就很簡單了APIHook把異常部分跳過去就OK了對于無法跳過的規則簡單粗暴的重啟客戶端重登錄即可畢竟無法處理的幾率比較低好幾天才能碰到一次終于經過幾次調整之后總算是穩定了

美美的睡了兩三個周之后問題又來了J3又開始進行無節操的封停了檢查之后發現客戶端的檢測規則沒有變化那么問題只能是出在服務器端了因為在座APIHook的時候我已經對本機硬件序列號MAC地址局域網IP等信息都做了處理那么服務器端能夠檢測的只能是公網IP了應該是通過類似于對網吧IP段做白名單個人的同一個IP如果同時登錄的客戶端過多的話就會進入封停判定我讓A去嘗試同IP登錄上限同時開始考慮應對方案

因為A的機器前邊是48開或者多的掛到50開而Windows自身又沒有機制能夠對多個網卡進行可定制的分流所以這個多IP的方案又讓我犯了難
考慮再三我讓A直接使用市面上的IP代理軟件先跑起來跑了大概有2個周的時候A告訴我還會有封停初步考慮IP代理可能會一個IP賣給多個游戲工作室從而導致封停問題

至此沒有退路和借口的我又開始了漫漫的熬夜的日子其實解決方案倒也簡單我自制了個路由器的ROM讓路由器充當代理服務器然后在本地使用LSP劫持了通訊的函數通過自己寫的代理客戶端完成通訊通訊時按照配置選取通過那個代理服務器通訊雖然各種不完美但總算是能夠穩定的跑起來了

測試沒有問題之后A和他的朋友們開始批量采購定制的路由批量拉網線據說光A自己就新增了近600條網線

A的游戲工作室規模越來越大管理也越來越復雜在完成了定制路由之后休息了沒幾天的我又被A要求想辦法降低人工

沒辦法顧客就是上帝

于是我又制作了網絡控制臺可以監控多臺機器上的角色同時能夠進行一些簡單的維護工作像重啟客戶端發送命令什么的都可以在網絡控制臺上又是一個多月的熬夜終于算是穩定運行了至此A的160多臺機器只需要3個員工就可以輕松維護時不時還能休個假聚個餐什么的

而我因為長時間的熬夜身體被嚴重透支頭暈耳鳴神經衰弱腰椎和頸椎也都出現了問題嚴重的一次左手拿了一杯水硬生生的給抖的灑了一地死活沒法送到嘴里當時正好快年底了從公司請了年假帶著老婆孩子省內逛了一圈玩了大概半個月身體才逐漸好了一點

休整回來后陸陸續續完善了一些功能像11月份更新后出售需要確認4月份版本更新后神行的過圖問題等等都是一些小的調整比較大的改動是做了自動合成螢石的功能后來合成螢石不需要跑洗煉臺了辛辛苦苦做的半仙羅盤試煉臺尋路什么的也就都沒有什么用處了

運行到今年剛過春節A又找到我說出金效率隨著金價的降低需要調整了否則游戲工作室開始沒有利潤了

于是乎又一次開啟熬夜模式比較湊巧的是公司也恰好在這時開始一個重要項目的合作前期的準備工作交給我來完成熬夜熬夜再熬夜

經過把試煉和釣魚功能完全推翻重寫終于能夠做到5000分裝備的號平均4分30秒左右試煉通過全部用來打試煉的話每天大概能打330封到350封信配合每晚的釣魚活動只需要極少量的副本就能把精力完全消耗光

就在前幾天新版本更新后五行石合成界面變了不能合成五行石了又進行了簡單的調整

林林總總也算是在游戲輔助這個圈子里做了幾年了

這是一個嚴重透支體力精力的工作在這幾年里身體每況愈下到現在已經算得上是渾身是病了如果按照投入產出比來說的話也沒有大家想象的那么劃算我現在的工作每年能拿個小20萬加上年底分紅也能有個10幾20萬吧并且基本上每年都能夠上一個臺階而寫游戲輔助付出的要比工作更多雖然看上去一年也能有個幾十萬的收入但是真的是太累太累了

我有的時候就在想如果我拿寫游戲輔助的這些精力放在工作上或者再重新創業應該不會比現在做輔助收益少但是無奈上了這條船游戲工作室一幫人還在指望著我只能再堅持一段時間了

大約2個月前我也和A也進行了一次長聊雖然沒有直接說不想開新項目了但我告訴他應該考慮一下雙項目并行不要把寶全押在J3上面了我真的累了

我估計J3再做1年應該沒有大問題但是J3結束之后我不想再繼續寫輔助了畢竟也老大不小了體力和精力都跟不上了游戲輔助這個行業還是年輕人的天下

對于想入行的在NBE徘徊的年輕人我想說這個行業其實沒有那么難同時也沒有那么美好技術層面如果要開發精品的話還是得靠C/C++來支撐如果是需要趕暴利期的話那就隨意了什么開發快用什么像什么E語言什么的雖然我沒有學過但是可以肯定它學起來很容易入門很簡單網上有大批的教程

但是想要做好輔助外掛還是需要有比較全面的知識的比如常見的系統API什么的肯定是要熟悉的而如果是注入式的內掛的話各種注入方式各種Hook技術也是必須要會的比如我的這個輔助算不上完美也算不上強大里面用到的技術我簡單的把想到的羅列一下

一套自己的網絡框架能夠處理客戶端和控制臺之間的各種消息通訊同時也用在了單機控制臺和網絡控制臺之間的通訊上

一套自己的Hook引擎用于在關鍵點掛接比如幀數優化反和諧等這里面采用的方式有Jmp跳轉方式的inline-hook調試中斷包括int3中斷和硬件中斷其他的還有內存訪問中斷等為了配合上下文信息的獲取還有調用堆棧的處理等

一套自己的DLL加載器通過DLL加載器徹底隱藏注入的DLL避免被掃描到

一套自己的資源打包解包管理將一些文本腳本等文件進行打包處理提高破解門檻

一套自己的特征碼掃描引擎能夠根據特征碼自動掃描出exe和dll里面的基址偏移等信息減少游戲新版本更新后的基址查找工作量通過它我基本上能夠做到開服前更新基址

一套自己實現的socket代理客戶端能夠改變制定進程的網絡訪問路徑

一套基于lua語言的腳本引擎能夠解析并執行自定義命令及其參數帶有分支循環等特性同時能夠自定義變量自定義函數等

暫時就想到這些有的內容寫的時間也比較久遠了很多東西都需要翻文檔或者代碼才能想起來了

如果有別的出路的話先考慮去工作吧這個行業的艱辛超過你的想象雖然我走的算是一路順風順水但是這些和A的支持天時地利都分不開

不要小看一個簡單的輔助軟件要知道輔助對于Bug的容忍度要遠遠低于普通的項目軟件要知道一旦游戲輔助商業化之后同時運行的數量和持續時間都遠遠大于普通的商業軟件

正是因為長時間大批量的運行程序的任何缺陷都會被放大比如試煉中的推石頭關卡有百分之一的幾率會失敗那么在A的游戲工作室里面160臺機器同時運行就相當于同時運行7000多個窗口每個窗口每天大約通關320次其中推石頭關卡出現的幾率是4/9也就是所有的機器里面推石頭關卡會出現近100萬次失敗大約1萬次如果每次失敗增加通關時間2.5分鐘的話相當于為整個游戲工作室浪費了25000分鐘這相當于單號打試煉通關5500次游戲工作室的利潤就這么被浪費了

可能會有童鞋質疑比如J3能不能做能做的話利潤太低什么的做過童鞋的可以幫我回應一下我沒有做過游戲工作室沒有概念我只能給出幾個基本的數據

釣魚進行了加速基本上魚兒上鉤那個消息一到就開始了下一次甩桿動作了省掉了收桿動作具體的釣魚次數我沒有統計

試煉之地只打第一層4500分裝備大約4分40秒5000分裝備大約4分30秒6000分裝備大約4分20秒這都是比較保守的數字

每條網線跑8個窗口A那邊的網費比較便宜每條線每個月30左右

游戲工作室需要員工3人加上A自己出貨交易

基本上能夠做到平價煉號不賺不虧(腳本+滿級號組隊帶有工具配合)

聲明我不賣輔助不帶隊不收徒弟我只是一個外行游戲輔助外掛作者今天與各位寫輔助的同行分享一下自己的經歷而已身心俱疲前言不搭后語見諒就說這些吧諸君見仁見智有意見使勁拍磚



您好您暫時不能瀏覽帖子的全部內容請?登錄??沒有帳號?立即注冊QQ登錄
  • TA的每日心情
    開心
    2017-4-21 18:29
  • 簽到天數: 26 天

    [LV.4]偶爾看看III

    發表于 2015-7-13 20:49:50  顯示全部樓層
    NBE微信公眾平臺
    雖然我不懂但是我全都看完了要是現在的輔助作者都和你一樣認真那什么游戲出一個死一個妥妥的感謝那些沒用的輔助讓很多游戲還活著
  • TA的每日心情
    慵懶
    3?天前
  • 簽到天數: 600 天

    [LV.9]以壇為家II

    發表于 2015-7-13 14:14:31  顯示全部樓層
    NBE微信公眾平臺
    好高大上的樣子

    我只會做點易啊按鍵精靈這種入門級的東西
  • TA的每日心情
    無聊
    2018-4-17 19:21
  • 簽到天數: 18 天

    [LV.4]偶爾看看III

    發表于 2015-7-13 14:41:43  顯示全部樓層
    才是真正的內部啊對于我這種機器少的苦逼來說想開卡也開不到用市場掛真是死路一條大神求加qq:22313793能跟著開幾張卡三四榮幸啊
  • TA的每日心情

    2017-6-19 07:54
  • 簽到天數: 108 天

    [LV.6]常住居民II

    發表于 2015-7-13 14:59:39  顯示全部樓層
    好高大上的樣子
  • TA的每日心情
    奮斗
    2017-4-3 12:36
  • 簽到天數: 402 天

    [LV.9]以壇為家II

    發表于 2015-7-13 17:39:14  顯示全部樓層
    這就是一個消費肉體的行業啊
  • TA的每日心情

    2017-11-22 20:37
  • 簽到天數: 568 天

    [LV.9]以壇為家II

    發表于 2015-7-13 21:22:14  顯示全部樓層
    看完了大工作室表面風光風險更大小工作室看似賺錢少但風險小
  • TA的每日心情
    奮斗
    2019-1-25 22:59
  • 簽到天數: 241 天

    [LV.8]以壇為家I

    發表于 2015-7-14 08:49:47  顯示全部樓層
    我也好像沒看懂不過也算見識了一個大哥大神謝謝分享
  • TA的每日心情
    開心
    2017-11-30 20:17
  • 簽到天數: 302 天

    [LV.8]以壇為家I

    發表于 2015-7-14 09:55:54  顯示全部樓層
    好高大上的樣子

    我只會做點易啊按鍵精靈這種入門級的東西
    您需要登錄后才可以回帖 登錄  立即注冊

    本版積分規則

    快速回復 返回頂部 返回列表
    彩票投注张公岭