Emulation

如何將作弊引擎修改保存在 pnach 文件中

  • March 12, 2016

我在許多 ps2 遊戲中使用許多 pnach 文件作弊,我可以使用 pcsx2 玩它們 - 有史以來最好的 playstation 2 模擬器!

我還使用作弊引擎 6.5 來製作更多在我的 pnach 文件中不存在的作弊,但是使用作弊引擎作弊非常煩人,因為每次我繼續玩遊戲時,記憶體位置總是在變化並移動到另一個位置遊戲或重啟遊戲或pcsx2。

我也會自動組裝並註入遊戲程式碼來作弊,但是每當我載入狀態或重新啟動 pcsx2 時,我通過程式碼注入所做的所有更改都會失去!即使是作弊引擎的指針掃描、關卡和參考也不適用於 pcsx2,因為這是每個複雜的模擬器。

我已經讀過它進行了許多移位操作來計算(記憶體和程序集的)地址。

這很煩人!我想保存我用作弊引擎製作的這些作弊。我不想每次都掃描我想要更改的值並一遍又一遍地註入相同的程式碼。

pnach 文件非常舒適,因為它們不需要您做任何事情,只需玩遊戲並享受它們為您提供的一切,例如無限健康、彈藥等。

我想知道 pnach 文件中是否有一種方法,可以製作我通過作弊引擎製作的所有作弊,如果是,那麼究竟如何?

編輯:現在我實際上已經使用了閱讀理解。

警告詞:

這個過程幾乎完全基於模擬器的工作方式和記憶體的使用方式。我實際上並沒有使用模擬器進行記憶體編輯,所以可能會有一些我不知道的曲折和警告。

牆o’文字:

這裡的主要問題是靜態指針和其他靜態值依賴於在作業系統中執行的遊戲和應用程序。對於大多數遊戲和應用程序,作弊引擎非常簡單,因為它執行在完全相同的作業系統中。

畢竟,使值成為靜態的原因在於它始終與程序的基記憶體地址具有相同的偏移量。由於 Cheat Engine 附加到程序,它總是知道該基地址在哪裡。

但是,當您談論模擬器時-該模擬器基本上可以作為自己的作業系統工作,具有自己的程序,在自己的記憶體中執行。作弊引擎可以很容易地附加到模擬器的程序,但由於它不能附加到遊戲本身,它不知道該遊戲的基本記憶體在哪裡。更糟糕的是,由於基礎記憶體儲存在動態記憶體中,從作弊引擎的角度來看,即使是遊戲的靜態記憶體也會改變位置。

但是,由於模擬器顯然需要知道該基地址在哪裡,因此該地址的工作方式與您使用作弊引擎的任何其他值沒有什麼不同。換句話說,pcsx2 應該有一個指向該地址的靜態指針。一旦你有了指向那個基地址的指針,你就成功了一半。

下半部分是使用“訪問此地址的內容”和“寫入此地址的內容”,以及反彙程式序來跟踪您要跟踪的值,回到遊戲中的靜態指針。不幸的是,這將需要大量的試驗和錯誤,因為您知道該指針是否為靜態的唯一方法是它與遊戲基址的偏移量是否永遠不會改變。您能夠檢查的唯一方法關閉並重新打開模擬器幾次。值得慶幸的是,到此為止-您至少將擁有指向該基地址的指針。

完成後,您將獲得大致如下所示的內容:

靜態指針(pcsx2)->基地址(遊戲)+靜態指針的偏移量(遊戲)->值(遊戲)

顯然,總是很有可能在兩者之間、任何一方或雙方都有一些動態指針。

希望這能讓你走上正確的軌道,

引用自:https://gaming.stackexchange.com/questions/258506