• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Creative Commons License
            本Blog采用 知識共享署名-非商業性使用-禁止演繹 3.0 Unported許可協議 進行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點遷移至:http://www.yulefox.com。請訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            網絡游戲安全思考——反外掛篇

            Posted on 2008-02-26 16:04 Fox 閱讀(2614) 評論(10)  編輯 收藏 引用 所屬分類: G游戲編程

            Author: Fox

            //-----------------------------------------------------------------------------------------------------
            此篇僅是對反脫機外掛的一點思考,其他安全問題如登錄驗證、消息驗證等更多的是涉及邏輯功能。
            //-----------------------------------------------------------------------------------------------------

            春節剛回來的時候,回公司去和Soft聊到了自己的畢業論文的問題,因為專業的關系,我必須給出一些安全方面的考慮,正是因為這一點,我當時開題時就立足對安全的無縫游戲世界進行思考。只是在游戲本身的安全性上,一直也沒有一個好的出發點,這兩周還是在考慮這個問題。

            這一點,有我入行時間不長,對于游戲本身、玩家與開發者(含游戲及外掛、木馬開發者)之間的關系并沒有一個很好的把握,更多的是由于我對游戲中的可用的安全技術不了解,尤其是對應用層安全協議不了解,對破解技術也不了解,導致無所適從。

            《游戲編程精粹1》中Andrew Kirmse在《在線游戲的網絡協議》一文中對常見的篡改報文、報文重放和逆向工程有講述。預防報文篡改的有效防御是哈希校驗,現在大多游戲是使用MD5算法,而且網上開源的MD5代碼也很多。對于報文重放,Andrew提到了使用線性疊加隨機數的狀態機,具體原理和實現方式因為沒有提到太詳細,還要針對實際應用繼續學習L。然而,由于客戶端既是報文的接收者也是發送者,因此,客戶端包括了完整的加解密算法。一旦客戶端被逆向,上述措施就變成了破解者背后的煙霧彈,完全失去意義。

            提到反外掛,Joe的看法也是說這個東西和具體某一個技術關系不大,還是要從機制上去看。加不加密對于普通玩家沒有意義,對于專業從事逆向的人更是也沒有意義,所有單純考慮加密是沒有效果的。對于免費游戲,外掛往往是打錢公司的工具,你封他的號,他再建就是了,代價幾乎為0,而一般付費游戲(像魔獸世界)一個帳號對應一個CDKey,一個CDKey就要幾十塊錢,這個封起來就有點咬牙了。

            說到這里,不妨換個思路:為免費游戲加入CDKey。我一款游戲從內測、封測到公測,讓玩家充分參與體驗,在被逆向且外掛橫行之前,按正常邏輯運營。進而假定我這一款游戲在公測之后,讓玩家感覺魅力十足。引導玩家并實施CDKey,一個CDKey大約會需要玩家付出些許Money以示誠意,在玩家游戲過程中,會階段性向玩家贈送部分增值道具。老玩家在進入新區時,需要申請繼續使用原CDKey。這樣一來,外掛就不會肆無忌憚了。

            BTW,這個思路沒有從技術角度解決問題,下面再來看一種略微關乎技術實現的解決方案:動態驗證。在游戲運行期間,會不定期的向玩家發送驗證碼,客戶端在收到消息后,必須在一定時間內響應,向服務器確認收到的驗證碼,否則將被強制下線,再次登錄后將更加頻繁的收到驗證碼,直到用其良好的回復次數累積消除其不良記錄為止。為了盡量減少因此給玩家造成的不友好體驗,在任務場景、重要PK場景或者高等級玩家活動場景,驗證碼的發送和確認可適當放寬

            當然,如果外掛中加入了圖形識別,這一招也未必奏效。

            不知是道高還是魔高,可以肯定的一點是:大家都是在利益的驅動下絞盡腦汁。

            //-----------------------------------------------------------------------------------------------------
            春節回來之后,一直比較忙(確切的說是比較懶),沒有更新,宜更加勤奮。
            最近工作涉及到數據庫編程,一點點對數據庫的讀寫居然耗掉我3天時間,汗!
            //-----------------------------------------------------------------------------------------------------

            Feedback

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-26 20:52 by Yule Snow
            加油啊!

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-26 21:16 by Fox
            聽一位網友提到WOW的ascent,有時間查查資料:)。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 01:20 by eating
            驗證碼,防篡改這些都沒用,技術手段要想封死脫機幾乎是不可能的事情。

            唯一有效的辦法就是加一些驗證封包,每次升級都要變動命令字以及驗證算法。這個封包不定時發送給客戶端,如果是正確的游戲客戶端自然有回應。

            脫機一般都不會分析的過于細致,對這些小包都不會太過關注。辨認出來以后封號就是了。

            或者辨認出脫機以后不掉東西,不漲經驗,呵呵,這個是打幣外掛最煩的。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 01:21 by eating
            ascent貌似是wow的服務端吧?跟脫機有啥關系?

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 08:56 by Fox
            @eating
            ascent和脫機掛沒有關系,提到這個純粹是為了提醒自己找時間查查。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 09:22 by abettor
            我覺得千防萬防,家賊難防。
            如果一個網絡協議被公開了,就啥都不好辦了。但是,一個網絡協議就那么容易通過抓包分析出來嗎?所以,應該考慮防內鬼。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 10:53 by Fox
            @abettor
            一旦客戶端被逆向,分析網絡協議是很簡單的事情了,因為對協議的解讀是在客戶端也有的。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 20:09 by ood
            這兩天玩了一下你們的游戲,掛機的還真是挺多的:)

            我覺得你提出的第一個方法很好,而增加不定時驗證的方法可能不會有太大的作用,那些靠這個吃飯的專業工作室在掛機時是有人職守的,你的驗證圖片發過去,他會人工回答問題,連OCR的東西都不用。

            增加CDKey并付費的想法如果協調好了大概可以起到一定的作用。現在游戲里的掛機號一般都是1~50級的,工作室的人就是靠這50級打怪所暴的物品來賣錢的(他的目的就是錢),如果能計算出一個號到50級時能為工作室賺多少錢,按這個標準來收費,那他這50級就算白掛。如果他50級以后還掛機,那他的運作成本就會直線上升(裝備、藥品消耗),而且封他這樣的號會很有震懾力。

            不過在具體實施時需要仔細考慮對各個層次玩家的影響,比如對已注冊的號可以不收費,這樣對老玩家就不存在影響。新注冊的號如果選擇不繳費也可以讓他玩,但1~50級這個階段的物品暴率降低10倍,經驗收益不變,這樣如果是真玩家,那對他也沒什么影響(他在這個階段主要是為升級),但這對掛機號就是致命的。如果新號選擇繳費,那么暴率恢復正常(但對掛機號來說也是白掛),同時可以贈送給玩家同等或幾倍繳費價值的道具(關鍵一點是這些東西不能交易,包括變相交易)。

            玩家在達到50級后可以將暴率恢復正常(包括繳費的和沒有繳費的),真正的玩家這時就可以攢錢買60的裝備,而掛機號也會在這時花錢買裝備(這個級別沒裝備他掛機不合算),而GM就可以集中精力處理50~60級的掛機號,而對那些小號可以不用去理,反正他掛也是白掛。

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-02-27 21:10 by Fox
            @ood
            分析的很有道理!
            根據玩家情況(支付CDKey費用與否)調整爆率,這個思路更加靈活,3X!
            :)

            # re: 網絡游戲安全思考——反外掛篇  回復  更多評論   

            2008-06-29 11:46 by 車門龍
            我一直想刷拉
            香蕉久久av一区二区三区 | 国产激情久久久久影院| 无码人妻久久一区二区三区免费| 精品久久久无码21p发布| 久久男人Av资源网站无码软件| 久久99国产精品久久99| 久久久久久毛片免费看| 潮喷大喷水系列无码久久精品| 国产成人无码精品久久久久免费| 久久人人添人人爽添人人片牛牛 | 99久久久精品免费观看国产| 亚洲国产精品久久66| 影音先锋女人AV鲁色资源网久久| 亚洲综合精品香蕉久久网97| 亚洲中文字幕久久精品无码APP| 久久久国产精品福利免费| 青青草原综合久久大伊人| 99久久国产综合精品网成人影院| 亚洲午夜久久久久久久久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久se精品一区二区影院| 久久青青草原亚洲av无码app| 国产精品综合久久第一页| 精品久久久久久亚洲精品| 亚洲中文字幕无码久久精品1| 一本色道久久88综合日韩精品| 久久国产综合精品五月天| 99久久人人爽亚洲精品美女| 久久99精品国产一区二区三区| 久久精品夜夜夜夜夜久久| 综合网日日天干夜夜久久| 中文字幕亚洲综合久久菠萝蜜| 开心久久婷婷综合中文字幕| 久久久91人妻无码精品蜜桃HD| 国产精品免费久久久久久久久| 久久大香香蕉国产| 国内精品久久久久久99蜜桃| 99久久国产热无码精品免费| MM131亚洲国产美女久久| 精品蜜臀久久久久99网站| 久久天天躁狠狠躁夜夜网站|