C1任務(wù)01之修改游戲存檔的方法
挑戰(zhàn)
有的玩家在玩游戲時(shí),可能并不想⼀關(guān)⼀關(guān)地慢慢玩,⽽是希望可以直接跳到最后⼀關(guān),或者從⾃⼰指定的關(guān)卡開始,⽐如 經(jīng)典的《植物⼤戰(zhàn)僵⼫》;再就是怎么能夠「開掛」,得到更多的⾦錢、更⾼的屬性、更強(qiáng)的道具,⽐如《三國(guó)志》系列。任何游戲都會(huì)保存玩家的進(jìn)度和數(shù)據(jù),不管是單機(jī)游戲還是⽹絡(luò)游戲都是如此。如果玩家能夠知道這些存檔數(shù)據(jù)保存在哪⾥,并且還能隨意修改存檔信息,那是不是就能達(dá)到「開掛」的⽬的呢? 答案當(dāng)然是肯定的,因?yàn)橹灰獣杂?jì)算機(jī)對(duì)⼆進(jìn)制數(shù)據(jù)的處理機(jī)制,就能輕松做到這⼀點(diǎn)。
說明
- 了解⼆進(jìn)制、⼗六進(jìn)制對(duì)于計(jì)算機(jī)的意義
- 掌握⼆/七/⼋/⼗/⼗⼆/⼗六等多種數(shù)據(jù)進(jìn)制間的轉(zhuǎn)換
- 掌握如何在windows及l(fā)inux中修改并保存⼆進(jìn)制⽂件
內(nèi)容
- 修改《植物⼤戰(zhàn)僵⼫》的存檔⽂件,將⼀個(gè)新⽤戶的進(jìn)度直接修改到5-2關(guān),⾦錢(能量)直接修改到10000
- 修改植物大戰(zhàn)僵尸內(nèi)的文字提示信息以及植物的名稱
一、任務(wù)實(shí)現(xiàn)工具:
游戲:植物大戰(zhàn)僵尸中文版
下載鏈接:
鏈接: https://pan.baidu.com/s/1UJeERv_Qes6KMespuD8yGg
提取碼: h259
十六進(jìn)制編輯器:Hex Editor Neo
下載鏈接:
鏈接: https://pan.baidu.com/s/1EyVB4AlBY14geaTzK45XOw
提取碼: e933
二、任務(wù)實(shí)現(xiàn)過程:
前三個(gè)任務(wù)會(huì)用到十六進(jìn)制編輯器來實(shí)現(xiàn),在修改的的過程中涉及到的知識(shí)點(diǎn)為十進(jìn)制數(shù)據(jù)與十六進(jìn)制之間數(shù)據(jù)的相互轉(zhuǎn)換。
PS:單機(jī)類游戲數(shù)據(jù)都是存儲(chǔ)在本地,因此只要在本地找到存儲(chǔ)數(shù)據(jù)的文件進(jìn)行修改即可對(duì)游戲內(nèi)的數(shù)據(jù)進(jìn)行修改
在所有任務(wù)開始前首先在下載好的植物大戰(zhàn)僵尸游戲中新注冊(cè)一個(gè)賬號(hào)
(在這里我起名為SJMDJGS【世紀(jì)末的架構(gòu)師】)
1、修改關(guān)卡
修改關(guān)卡前首先要在本地找到存儲(chǔ)游戲數(shù)據(jù)的文件
植物大戰(zhàn)僵尸的數(shù)據(jù)文件一般都是存儲(chǔ)在C盤中的ProgramData文件夾中
C:\ProgramData是個(gè)公用的被創(chuàng)建文件夾或文件存放的地方,這些文件夾或文件僅由創(chuàng)建者完整控制。打開ProgramData,可以看到很多和應(yīng)用軟件同名的文件夾,里面有一些軟件運(yùn)行,或者修復(fù)卸載時(shí)候調(diào)用的一些文件,生成的一些記錄也存放在這里。默認(rèn)是隱藏的,不可刪除的
文件路徑: C:\ProgramData\PopCap Games\PlantsVsZombies
來到這里以后會(huì)看到有兩個(gè)文件夾,點(diǎn)擊下方存儲(chǔ)用戶數(shù)據(jù)的userdata文件夾
點(diǎn)擊進(jìn)入存儲(chǔ)用戶數(shù)據(jù)的文件夾以后會(huì)發(fā)現(xiàn)有兩個(gè).dat格式的文件,其中user1.dat文件中存儲(chǔ)著關(guān)卡數(shù)據(jù)和金幣道具等信息
將user1.dat文件拖到Hex Editor Neo中,不難發(fā)現(xiàn)第四列存儲(chǔ)的數(shù)字為1其余為0,所以進(jìn)行是否第四列中的十六進(jìn)制數(shù)據(jù)代表著關(guān)卡的信息
在游戲中通關(guān)到第三關(guān)以后再將user1.dat文件拖入Hex Editor Neo中會(huì)發(fā)現(xiàn)之前第四列下的數(shù)據(jù)已經(jīng)由最初的01變成了03,因此說明第四列下的十六進(jìn)制數(shù)據(jù)是用來描述關(guān)卡情況
在植物大戰(zhàn)僵尸游戲中每10小關(guān)為一個(gè)大關(guān),所以要將關(guān)卡修改到第5-2關(guān)對(duì)應(yīng)的十進(jìn)制數(shù)據(jù)為42,將其轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù)為2a,在Hex Editor Neo中將03改為2a后重新進(jìn)入游戲會(huì)發(fā)現(xiàn)關(guān)卡跳到了第5-2關(guān)。
2、修改金幣
在修改了關(guān)卡以后會(huì)發(fā)現(xiàn)游戲界面內(nèi)自動(dòng)出現(xiàn)了商店等組件,此時(shí)我們點(diǎn)擊商店以后會(huì)發(fā)現(xiàn)金幣為0,現(xiàn)在開始修改金幣
當(dāng)通關(guān)獲得一定數(shù)量的金幣后會(huì)發(fā)現(xiàn)第八列下的數(shù)據(jù)發(fā)生了變化,因此猜測(cè)第八列下的十六進(jìn)制數(shù)據(jù)為記錄金幣數(shù)量的信息,將這里的數(shù)據(jù)修改為ff,重新進(jìn)入游戲查看金幣的數(shù)量是否有發(fā)生變化
重新進(jìn)入游戲后發(fā)現(xiàn)金幣數(shù)量發(fā)生了變化并且為2550,因?yàn)?strong>ff對(duì)應(yīng)的十進(jìn)制數(shù)據(jù)為255,因此證明植物大戰(zhàn)僵尸中金幣的規(guī)則為十六進(jìn)制對(duì)應(yīng)的十進(jìn)制數(shù)據(jù) * 10
因?yàn)橛螒蛑?0000金幣對(duì)應(yīng)的十進(jìn)制數(shù)據(jù)為1000,1000(10)對(duì)應(yīng)的十六進(jìn)制數(shù)據(jù)為3e8,在Hex Editor Neo中將第八列和第九列
中的數(shù)據(jù)分別改為3e、80后重新進(jìn)入游戲會(huì)發(fā)現(xiàn)金幣的數(shù)量并不是預(yù)想的10000,而是328300
由此猜測(cè)第九列的數(shù)據(jù)為高位,并不是按照慣性思維從第八列開始依次排列,重新在Hex Editor Neo中把第八列和第九列的數(shù)據(jù)分別改為e8、03,再次進(jìn)入游戲后發(fā)現(xiàn)商城中金幣數(shù)量變?yōu)榱?0000
3、修改用戶名
之前修改關(guān)卡和金幣數(shù)量時(shí)都是在user1.dat中修改,修改用戶名則是在另一個(gè)users.dat文件中進(jìn)行修改,將users.dat拖入到Hex Editor Neo中會(huì)發(fā)現(xiàn)從第08列到第0e列中的對(duì)應(yīng)的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)以后的值恰好對(duì)應(yīng)ASCII碼中的SJMDJGS(世紀(jì)末的架構(gòu)師),與游戲中的用戶名對(duì)應(yīng),因此假設(shè)第08列到第0e列的數(shù)據(jù)對(duì)應(yīng)為用戶名,將第08列到第0e列的數(shù)據(jù)分別修改為46(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為70)、58(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為88)、44(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為68)、48(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為72)、4c(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為77)、52(16)(對(duì)應(yīng)十進(jìn)制數(shù)據(jù)為82)、第0e列改為00,如果假設(shè)正確重新進(jìn)入游戲后用戶的名稱則修改為FXDHLR(飛翔的荷蘭人)
4、修改局內(nèi)文字信息
修改局內(nèi)文字信息不需要用到十六進(jìn)制編輯器,只需要找到游戲的安裝路徑,找到其中的properties文件夾,修改該文件夾中的LawnStrings.txt文件即可
在這里我使用的是notepad++來修改文本文件,只用記事本也可以完成編輯。以修改豌豆射手的數(shù)據(jù)為例,在游戲內(nèi)的圖鑒中檢查信息是否修改成功
總結(jié)
任務(wù)到這里就全部結(jié)束了,修改游戲數(shù)據(jù)在曾經(jīng)是想都不敢想的,在剛開始看到任務(wù)時(shí)一度懷疑自己能否完成這樣的任務(wù),便心一狠牙一咬踏上了完成任務(wù)的旅程,在完成任務(wù)的過程中自己才意識(shí)到之前自己被自己想象的困難打敗了,真正接觸到之后并沒有想象中的困難。在完成任務(wù)的過程中熟悉了數(shù)據(jù)進(jìn)制之間的轉(zhuǎn)換,也明白了在計(jì)算機(jī)中如何保存二進(jìn)制文件,更重要的是信心上和動(dòng)手實(shí)踐能力的提高。
還記著那句,人的一生中最輝煌的一天,并不是功成名就的那一天,而是在悲嘆和絕望中產(chǎn)生向上的力量,并勇敢去直面和接受挑戰(zhàn)的這一天。這是最大的轉(zhuǎn)折點(diǎn),當(dāng)你選擇去直面挑戰(zhàn)時(shí),就已經(jīng)注定了成功!
到此這篇關(guān)于C1任務(wù)01之修改游戲存檔的文章就介紹到這了,更多相關(guān)修改游戲存檔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
趣談Unicode、Ascii、utf-8、GB2312、GBK等編碼知識(shí)
這篇文章主要介紹了趣談Unicode、Ascii、utf-8、GB2312、GBK等編碼知識(shí),文章寫的詼諧風(fēng)趣,膜拜啊,需要的朋友可以參考下2014-07-07網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?
這篇文章主要介紹了網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?本文總結(jié)了IIS、apache服務(wù)器及瀏覽器軟件Internet Explorer、Firefox、Opera、chrome等主流的瀏覽器軟件支持情況,需要的朋友可以參考下2015-07-07Archlinux?Timeshift系統(tǒng)備份與還原的操作方法
這篇文章主要介紹了Archlinux?Timeshift系統(tǒng)備份與還原的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01解決Visual Studio 2019本地不能運(yùn)行Azure Functions
本文主要介紹了Visual Studio 2019本地不能運(yùn)行Azure Functions的解決方方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06SVN與Git版本控制的優(yōu)缺點(diǎn)差異全面分析
這篇文章主要為大家介紹了SVN與Git版本控制的優(yōu)缺點(diǎn)差異全面分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04最新IntelliJ IDEA 2020.2永久激活碼(親測(cè)有效)
今天一大波朋友反饋idea2020激活碼失效的問題,小編快馬加鞭給大家找到解決方案,本文以IDEA 2020.2.4激活碼破解教程為例給大家詳細(xì)介紹,需要idea2020激活碼的朋友快來參考下本文吧2020-11-11