国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何發(fā)現(xiàn)游戲軟件中的漏洞并制作補(bǔ)丁

2016-05-30 06:20:06田韜偉
科技創(chuàng)新導(dǎo)報 2016年18期
關(guān)鍵詞:補(bǔ)丁游戲

田韜偉

DOI:10.16660/j.cnki.1674-098X.2016.18.086

摘 要:靠程序員編寫而成的游戲軟件,被玩家發(fā)現(xiàn)存在漏洞已經(jīng)屢見不鮮,游戲漏洞有硬件漏洞和軟件漏洞之分,也有良性漏洞和惡性漏洞之分。因此,該文對游戲軟件漏洞的概念進(jìn)行簡單概述,舉以多種實(shí)例對游戲軟件漏洞予以說明,較為詳細(xì)地分析了尋找游戲軟件漏洞的方法及其實(shí)行過程,分別闡述了游戲補(bǔ)丁的作用和游戲補(bǔ)丁的制作過程。

關(guān)鍵詞:游戲 軟件漏洞 補(bǔ)丁

中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2016)06(c)-0086-02

游戲軟件都是依靠程序員來進(jìn)行編寫的,存在漏洞在所難免,但及時發(fā)現(xiàn)游戲漏洞并制作相應(yīng)的補(bǔ)丁對游戲形象維護(hù)很重要。像《英雄聯(lián)盟》S4總決賽上,就出現(xiàn)了酒桶不能發(fā)出Q技能的尷尬漏洞,使比賽暫停了兩個多小時,整屆比賽不能使用酒桶,大大有損該游戲的形象。該文就筆者的實(shí)踐工作經(jīng)驗(yàn)來談一談如何發(fā)現(xiàn)游戲軟件中的漏洞并制作補(bǔ)丁,希望對廣大游戲工作者能有所幫助。

1 游戲軟件漏洞概述

通常意義上的游戲漏洞,包括游戲的硬件漏洞和軟件漏洞。游戲的硬件漏洞是由于游戲硬件的設(shè)計錯誤或者是硬件部件的失效老化而造成的。而游戲的軟件漏洞,則是指游戲的軟件程序編寫存在缺陷,廣義上也包括用戶在游戲體驗(yàn)過程中發(fā)現(xiàn)并提出的游戲軟件需要進(jìn)行改進(jìn)的細(xì)節(jié)。

就狹義的游戲軟件漏洞,即游戲軟件編寫上的缺陷而言,造成的原因主要有三個:一是游戲軟件工程師對游戲過程中的各種流程分支沒有進(jìn)行足夠全面的考慮,二是游戲軟件工程師對游戲中可能出現(xiàn)的各種邊界情況沒有進(jìn)行精確到位的處理,三是游戲軟件編程人員在對游戲軟件進(jìn)行編碼的時候出現(xiàn)了失誤。

一款游戲存在軟件漏洞是不可避免的事情,所以游戲從推出到正式投入運(yùn)行通常都要經(jīng)過封測、內(nèi)測和公測三個階段,在這些階段中對游戲的軟件漏洞進(jìn)行不斷修復(fù)。即使如此,一些網(wǎng)絡(luò)游戲在進(jìn)行數(shù)據(jù)版本更新之后,仍難免存在一定的軟件漏洞。但游戲的軟件漏洞也有惡性漏洞和良性漏洞之分,惡性漏洞的存在往往很是影響游戲玩家的體驗(yàn),比如騰訊代理的游戲《FIFA Online3》,在游戲過程中環(huán)境網(wǎng)絡(luò)正常的情況下玩家會經(jīng)常出現(xiàn)突然斷開服務(wù)器的情況,就屬于惡性漏洞。而良性漏洞則往往不會帶來非常嚴(yán)重的后果,而且有些玩家還能從良性漏洞中獲得利益,最為典型的良性漏洞就是《穿越火線》中的卡箱子,一些玩家能卡進(jìn)箱子里面進(jìn)行躲藏而贏得游戲,但其他玩家也可以踢出這些玩家,增加了游戲體驗(yàn)的樂趣。

另外在國產(chǎn)游戲《1937特種兵》中也存在至少2個以上良性漏洞,在這款游戲中,只要所有人物使用步槍就可以(強(qiáng)子就行)在與日本兵之間沒有障礙物的情況下,按“Ctrl”鍵并點(diǎn)擊日本兵就可以直接殺死敵人,可以說是“神射”。因?yàn)樗鼪]有距離限制,多遠(yuǎn)都可以射死。在游戲第5關(guān)火燒糧倉中,來到鬼腳七所在的地方,右邊停放著兩輛汽車,讓大牛站在黑色的汽車后面,用鼠標(biāo)點(diǎn)擊汽車右邊的墻外,這時大牛就會穿墻跑出去,而且日本士兵也會在這里穿墻。雖然這樣的漏洞并不影響玩家按照設(shè)定的情節(jié)繼續(xù)體驗(yàn),但依然不應(yīng)該出現(xiàn)。

2 發(fā)現(xiàn)游戲軟件漏洞的方法

2.1 游戲軟件程序編寫完成之后進(jìn)行靜態(tài)檢測

軟件靜態(tài)檢測的對象主要是程序編寫過程中程序員的簡單邏輯錯誤和手誤,其過程是應(yīng)用專業(yè)的程序代碼靜態(tài)檢測軟件對游戲軟件程序中所有的代碼進(jìn)行掃描,并對這些代碼中的關(guān)鍵句使用靜態(tài)分析法進(jìn)行分析。即對程序語句的語法是否正確進(jìn)行判斷,將程序中的語句與數(shù)據(jù)庫的語句進(jìn)行對比,找出其中可能存在邏輯錯誤的句子。

2.2 游戲封測讓游戲測試工程師尋找游戲軟件漏洞

一款游戲在面試之前都要經(jīng)過較長時間的封測,會有專業(yè)的游戲測試工程師對游戲進(jìn)行測試,這些游戲測試工程師通常都是各種玩游戲的高手,能夠?qū)τ螒虻目赏嫘?、平衡性作出較為專業(yè)的評價,軟件漏洞通常更是逃不過這些職業(yè)游戲測試者的法眼。他們一旦發(fā)現(xiàn)了游戲的漏洞就會跟軟件工程師商量,找到管理與該漏洞有關(guān)的程序代碼句子進(jìn)行修改并再測試,直到漏洞消除為止。

2.3 游戲內(nèi)測讓少量游戲玩家尋找游戲軟件漏洞

封測之后,游戲一般需要開放少量的賬號對游戲進(jìn)行內(nèi)測,簡單來說就是讓一些對游戲較為感興趣的玩家進(jìn)行試玩。在內(nèi)測過程中,游戲運(yùn)營商會以問卷等方式從內(nèi)測玩家取得對游戲的信息反饋,包括對游戲的體驗(yàn)評價以及是否在游戲過程中發(fā)現(xiàn)游戲存在漏洞等。在選擇內(nèi)測玩家時游戲開發(fā)商會選擇那些較為忠實(shí)的玩家,這些玩家往往能將自己的大部分時間都投入到游戲當(dāng)中。一定數(shù)量的內(nèi)測玩家對游戲體驗(yàn)一段時間后,游戲測試工程師沒有及時發(fā)現(xiàn)的游戲軟件漏洞基本都能夠被內(nèi)測玩家所發(fā)現(xiàn)并反饋到游戲公司。游戲公司的軟件工程師會對漏洞所在處的程序語句進(jìn)行調(diào)整并將改寫之后的游戲軟件再次投入內(nèi)測,直到內(nèi)測玩家認(rèn)為游戲無明顯漏洞為止。

2.4 游戲公測讓所有游戲玩家一起尋找游戲軟件漏洞

游戲經(jīng)過內(nèi)測之后已經(jīng)基本可以上線了,但是大型的網(wǎng)游還要經(jīng)過一段時間的刪檔公測,即將游戲向所有玩家開放,大家一起來找尋游戲中的漏洞和不合理的地方。通過客服和運(yùn)營商推送的問卷,讓玩家將游戲中可能存在的漏洞反饋給運(yùn)營商,運(yùn)營商讓游戲開發(fā)的軟件工程師修改相關(guān)部分的代碼,使游戲版本更新,讓所有玩家再體驗(yàn),直到游戲基本沒有漏洞之后,游戲就可以進(jìn)入不刪檔公測階段了,到此游戲就算進(jìn)入了正式運(yùn)營。

3 針對游戲漏洞的補(bǔ)丁制作

3.1 游戲補(bǔ)丁的作用

在游戲開發(fā)商通過各種途徑找到了游戲中存在的軟件漏洞以后,就要開始針對已發(fā)現(xiàn)的漏洞制作補(bǔ)丁。補(bǔ)丁可以一款游戲解決以下諸多問題。

(1)游戲軟件源代碼存在的缺陷。即確認(rèn)漏洞是由于游戲軟件源代碼編寫錯誤而造成的,就要用相應(yīng)的軟件修改源代碼修復(fù)游戲軟件的漏洞。

(2)游戲軟件系統(tǒng)的自主質(zhì)量改進(jìn)。即游戲開發(fā)商可以用補(bǔ)丁對游戲畫面進(jìn)行改良,對游戲的平衡性進(jìn)行調(diào)整等。

(3)隨著玩家游戲硬件的改變而對游戲軟件進(jìn)行調(diào)整?,F(xiàn)在社會上的電子硬件設(shè)備層出不窮,一款老游戲難免有與市場上的硬件設(shè)備不兼容的情況,這時游戲開發(fā)商想要留住這批使用新設(shè)備的玩家就必須開發(fā)新的軟件版本,修改程序局部源代碼使之能適應(yīng)硬件的變化。

3.2 游戲補(bǔ)丁的制作

在游戲漏洞被發(fā)現(xiàn)并確認(rèn)以后,如果漏洞簡單易處理,就只需對漏洞對應(yīng)軟件的配置文件進(jìn)行修改,或者直接制作一個附加軟件對玩家的游戲安裝環(huán)境進(jìn)行限制即可。復(fù)雜一些的漏洞,就需要找對漏洞所對應(yīng)的游戲程序源代碼進(jìn)行仔細(xì)分析,對源代碼的缺陷進(jìn)行正確的修改,測試無誤以后制作成游戲軟件補(bǔ)丁包推送給玩家。

4 結(jié)語

游戲漏洞的存在不可避免,但只要游戲制作方有較為完善的游戲漏洞查找流程,能及時發(fā)現(xiàn)游戲中的漏洞并制作好補(bǔ)丁,就不會對玩家造成太大的困擾,漏洞對游戲的長期運(yùn)行的影響也可以降到最低。該文關(guān)于游戲軟件漏洞的介紹、發(fā)現(xiàn)游戲軟件漏洞的方法以及關(guān)于制作游戲補(bǔ)丁的論述都甚為粗淺,但希望能拋磚引玉,吸引更多游戲軟件相關(guān)工作者建立更為完善的理論。

參考文獻(xiàn)

[1] 文偉平,張普含,徐有福.參考安全補(bǔ)丁比對的軟件安全漏洞挖掘方法[J].清華大學(xué)學(xué)報:自然科學(xué)版,2011(10):1264-1268.

[2] 姜文,劉立康.應(yīng)用軟件維護(hù)中的補(bǔ)丁開發(fā)與管理[J].計算機(jī)技術(shù)與發(fā)展,2015(11):11-16.

[3] 文偉平,吳興麗,蔣建春.軟件安全漏洞挖掘的研究思路及發(fā)展趨勢[J].信息網(wǎng)絡(luò)安全,2009(10):78-80.

猜你喜歡
補(bǔ)丁游戲
補(bǔ)丁
詩選刊(2022年6期)2022-05-25 17:08:01
健胃補(bǔ)丁
學(xué)與玩(2018年5期)2019-01-21 02:13:06
繡朵花兒當(dāng)補(bǔ)丁
文苑(2018年18期)2018-11-08 11:12:30
補(bǔ)丁奶奶
幼兒畫刊(2018年7期)2018-07-24 08:25:56
游戲
數(shù)獨(dú)游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
關(guān)于補(bǔ)丁
中國詩歌(2015年12期)2015-11-17 19:30:54
第八章直接逃出游戲
正阳县| 察哈| 阳西县| 文化| 上犹县| 县级市| 上杭县| 阳东县| 历史| 芜湖市| 安国市| 蒙阴县| 河源市| 太谷县| 云和县| 济宁市| 马龙县| 宁晋县| 景谷| 明星| 唐山市| 米林县| 自治县| 龙川县| 夏津县| 德化县| 武安市| 石河子市| 荃湾区| 济南市| 榆社县| 丹江口市| 巨鹿县| 巴彦县| 余庆县| 秦安县| 建阳市| 新津县| 山丹县| 萨迦县| 凤山县|