目錄
步驟:
任務1——修改游戲存檔,跳到5-1關卡
任務2——游戲充值1024$
任務3——解鎖【迷你游戲】、【生存模式】選項
所遇問題:
1. 修改關卡已顯示成功,但點擊進入游戲后發現還是原來的進度
2. 修改之后再次打開不顯示關卡數,進行無法跳關
工具
1. 植物大戰僵尸客戶端
鏈接: https://pan.baidu.com/s/1aNyrPxklN8NViut3bC8LNg
提取碼: lput
2. Hex Editor(十六進制編輯器)
鏈接: https://pan.baidu.com/s/15wiErpGf-pTqK50Hk3JufA
提取碼: 81c1
步驟:
任務1——修改游戲存檔,跳到5-1關卡
1. 根據學習線索發現,C:\ProgramData是個公用的被創建檔案夾或檔案存放的地方,各種軟體安裝后的用戶資料都存在這里,按照英文名找到植物大戰僵尸的位置,默認路徑如下圖:
一定要先玩一關,這樣才會創建user1.dat和game1_0.dat檔案;并且檔案為隱藏檔案,需手動打開

2. 按照后綴名找某型別檔案,一般.dat是游戲的二進制存檔資料,發現userdata中的檔案,通過檔案名猜測檔案含義,users應為記錄所有用戶注冊資訊,user1指第一位用戶的游戲存檔資訊(包括關卡記錄、金錢數量),game1_0用途暫且不知道(后續有研究程序),因此在此任務中只需要使用user1.dat即可,
3. 使用Hex Editor打開user1,發現為整齊排列的十六進制資料,

4. 再玩兩關,觀察資料,發現在第一行04位置從00變為02,此時關卡為1-2,

5. 多次重復第四步之后,發現
| 十六進制 | 十進制 | 關卡 |
| 02 | 2 | 1-2 |
| 0a | 10 | 1-10 |
| 10 | 16 | 2-6 |
6. 結果發現一大關含有10小關,如果要達到5-1關,只需加4*10+1=41(十進制),用除法轉換成十六進制結果為29,
7. 將第一行04位置改成29,再次啟動游戲發現修改成功,

任務2——游戲充值1024$
1. 繼續從5-1玩游戲,觀察user1檔案發現當金幣為80時,二進制檔案中第一行08位置從“00”變為“08”,說明08處與金錢有關,
![]()

2. 確定映射規則:手動修改08處為ff,觀察游戲中金錢變為1550,說明游戲金幣是二進制表示的10倍,
![]()

3. 設定1024不是10的整數倍,因此只能將最后一位舍去變成0,計算出轉換乘十六進制的數66,結果如下:
![]()
4. 拓展:將金幣數改為100,000,000$,此時金幣數除以10,再轉換成十六進制為989680,然而超過兩位,因此需要確定表示金幣的位置范圍以及確定表示高低位,
5. 因為和前面有條鴻溝,所以先修改后面位數09為“01”進行實驗,發現金幣數為2560,可以發現09是金幣表示的高位,重復該步驟,確定08,09,0a,0b為金幣表示位數,
![]()
![]()
6.將989680以兩位為單位按低到高位置依次放入08,09,0a,0b中,如圖所示,可觀察到金幣數量改動成功!這樣就可以實作金幣自由啦!
![]()
任務3——解鎖【迷你游戲】、【生存模式】選項
1. 查看植物大戰僵尸攻略,當冒險模式全部通關過后,可以解鎖后續選項,
2. 將關卡數設定到冒險模式最后一關(將04位改為3d),并進行玩耍,通關之后觀察user1.dat檔案,發現0c位從00變成了01,因此可得出此位為冒險模式通關后的標記,下次直接修改解鎖,
![]()

所遇問題:
1. 修改關卡已顯示成功,但點擊進入游戲后發現還是原來的進度
解決思路歷程:
1. 因為關卡和游戲內容不一致,猜想是在另外的地方有資料備份,于是查找最近修改檔案,發現無果, 2. 后找資料檔案,發現game1_0.dat還不知道用途,拿自己的此檔案和其他人進行比對,發現修改成功的人中有一部分有該檔案,另一部分沒有,3.把成功的人的game1_0檔案替換到自己的電腦上,再次運行,還是不成功;后來洗掉game1_0.dat顯示成功,
原因總結歷程:
1. 經過對比發現自己未完整完成一關就退出游戲,因此猜測game1_0.dat是記錄上次關閉時某一關內的進度,并且猜測游戲內部備忘錄恢復機制:如果啟動時點擊繼續游戲,會先恢復game1_0里的資料,從上次未完成的關卡繼續游戲;如果上次完整打完一關并退出游戲,則以user1.dat中的關卡數進行跳轉,2. 另外,也有部分同學也是中途退出游戲,但多次修改user1.dat檔案,系統自動洗掉game1_0.dat也可以正常跳關,
2. 修改之后再次打開不顯示關卡數,進行無法跳關
解決辦法:不關閉游戲進行修改資料,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340563.html
標籤:其他
