[遊戲]深巖銀河倖存者 --修改實現無敵

DirWangK發表於2024-04-26

深巖銀河倖存者 --修改實現無敵

目錄
  • 深巖銀河倖存者 --修改實現無敵
  • Il2CppDumper
  • GameAssembly.dll/Assembly-CSharp.dll 分析
    • 1
    • 2
    • 3
    • 4
    • 5

修改實現無敵

global-metadata.dat 未加密,直接上Il2CppDumper

Il2CppDumper

Initializing metadata...
Metadata Version: 29
Initializing il2cpp file...
Il2Cpp Version: 29
Searching...
Change il2cpp version to: 29.1
CodeRegistration : 182a89530
MetadataRegistration : 183014830
Dumping...
Done!
Generate struct...
Done!
Generate dummy dll...
Done!
Press any key to exit...

GameAssembly.dll/Assembly-CSharp.dll 分析

1

1、IDA 結合Il2CppDumper指令碼對GameAssembly.dll進行分析

2

2、dnspy載入Il2CppDumper 生成的DummyDll目錄下的Assembly-CSharp.dll

3

3、在dnspy中檢索關鍵資訊、health、hp、alive、player等等資訊

image-20240426191604076

將名稱在Il2CppDumper 生成的script.json中檢索,獲取rva

image-20240426192254359

4

4、透過上一步獲取的RVA,在ida 中定位函式

定位到Entity$$get_isAlive

[rcx+20h]處應該便是儲存的生命值

image-20240426191124836

5

5、x64dbg附加遊戲,設定斷點,觸發後在[rcx+20h]記憶體地址設硬體寫入斷點,便可以跟蹤所有的修改生命值的地方,我們只關注減少操作,

定位到Player__TakeDamage 函式

image-20240426193045560

image-20240425222933234

patch該減操作便可實現無敵效果

image-20240425222908925

ps:其他修改點還是相同的思路,

相關文章