God of War [Engine:Unknown]

Upload your cheat tables here (No requests)
Post Reply
User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

God of War [Engine:Unknown]

Post by SunBeam »

Kindly DO NOT POST this table on other forums/communities (e.g.: Nexus). Same as you prefer those places, I prefer FRF and I made this specifically for this community! If you want to share the news, do send those users to FRF instead. Thank you for respecting my choice!



Game Name: God of War
Game Vendor: Steam (should work with EGS as well).
Game Version: 0.1.0
File Version: 1.0.439.7815 (matching Steam 1.0.2 update)
Game Process: GoW.exe

[ Update 20-Jan-22 ] Image

Added a CONSOLE UDF by the means of which you can now send Lua commands to the game. More precisely, you will run commands in the context of heroa00 Lua VM, whose lua_State is currently being used. More details about the game and its Lua in this post.

Now, once you open the table and activate the [ Initialize ] script, you will see the following:

Image

I have explained about the first two scripts in the notes below, throughout the updates. The NEW one is the Toggle Console UDF. Click the check-box in front of it and this will open up:

Image

  • In the bottom (white) box you will type in the stuff
  • Pressing Shift + Enter keys will send the command to be run by the game/VM's Lua, as well as log what you executed in the top (purple) window.
  • Clicking the Clear button (upper-right) will clear the log (purple) window.

GoW.CT
Update #3
(70.27 KiB) Downloaded 51778 times


**

EXTRACTING WAD FILES / DECOMPILING LUA FILES » viewtopic.php?p=231107#p231107

I have instructed how to manually extract data from the game's .wad files, how to identify which are Lua files in there and decompile them. Want to learn of more Lua commands to run in the CONSOLE? Start by extracting/decompiling and inspecting the resulting Lua files.

AUTOMATED TOOL » viewtopic.php?f=4&t=18837&p=231557#p231557

ALL LUA FILES » [Link]


**

COMMANDS LIST » viewtopic.php?p=230878#p230878

Copy the command, adjust it to your needs, paste it in the input field of the << God of War >> Lua Exec window (the console), make sure the cursor is at the end of the row, then press Shift+Enter to execute. A list is available, alongside explanations, in the LINK above. Will update it as I progress.


**

LOOT LIST » [Link]

Also as text, since several of you reported the link not loading:

Code: Select all

https://docs.google.com/spreadsheets/d/e/2PACX-1vRY4CMWbChjNkSmPQh9dmQS75ucFEbMPNi460Rjzo9U8w0-oo2VI2xxOCgpPHQqwhxQCLCw4_bP58Jv/pub?output=xlsx
With the link above you can now download the LOOT LIST as a standalone Excel file. The offer still stands: contribute by filling in the lines that haven't been tested yet (the ones that have a blank Game Name). And please follow the exact same logic I used for the other entries, as per the guidelines below:
  • If you want to fill in the Rarity for an item, simply type 1,2,3,4 or 5 on J column. The corresponding entry on H column will automatically populate with the name and color of the Rarity. There is a legend on V-W columns.
  • I've filled in the Category and Sub-Category columns (Y, AA) with the names I thought logical. If you think more need to be added, add them on these columns. The drop-downs on G and H columns will take in the updated values.
  • Please fill in the Game Name (E column) EXACTLY as it is written in the game. Pay close attention to the letter casing, if lower or uppercase. I recommend opening the Inventory and checking the item there, as the text in the gain pop-up - when this pop-up shows - displays the letters in uppercase by default. Where possible, add in the special Norse characters, just so the works is complete. Yeah, that kind of a perfectionist I am :)
PLEASE DO NOT DISTRIBUTE ANY PERSONAL VERSIONS OF THIS FILE ON DISCORD, YOUTUBE OR FORUMS YOU WANT TO SHARE IT WITH. KINDLY SEND THOSE PEOPLE TO THIS FORUM AND TOPIC TO GET IT FOR THEMSELVES. THANK YOU!

Lastly, in case you're feeling nostalgic, I've moved the "Add Resource" script into the [ Debug ] section. Again, THERE IS NO NEED TO USE IT ANYMORE. Use the CONSOLE!

BR,
Sun

OBSOLETE FROM HERE GOING DOWN! DO NOT USE THE FILES AND INSTRUCTIONS BELOW THIS POINT! THEY'RE KEPT FOR HISTORICAL AND INFORMATIONAL PURPOSES ONLY!

[ Update 19-Jan-22 ]

The BIG ASS list of 1675 items is here:

< removed; obsolete >

[ edited to plain text, as for some of you the link didn't load [?] ]

How to use:

1) Copy hash value from first column (PERM_Hash column) by DOUBLE-CLICKING it in the page.
2) Paste it in the "Item Hash" field's Value (double-click the Value area) under Add Resource script.
3) Click the check-box in front of "Add Resource" to get execute the script and get the item.

NOTE: Based on whatever else you discover from testing hashes that haven't been tested yet, the page will be updated. We'll take your findings and plug them into the Spreadsheet behind this web-page. The page updates every 5 minutes, so let's say you'll have access to these updates real fast.

BR,
Sun

[ Update 17-Jan-22 ]

[+] Added Add Resource script (note, it's Add RESOURCE, not GEAR!) and a nice drop-down to pick stuff from. There are several considerations you should be aware of that I've encountered, just so you don't say I didn't tell you, in my notes below. As a preamble, if you think you can DO or FIND better, please use that particular table/trainer instead, without letting FRF know your opinion (how: "this sucks", "this should work better", "it crashes me", "fix it", etc.). You have no idea how long it takes to find all of the inner components that make this possible.

How does it work (the general idea):

Image

1) Run [ Initialize ] script (this is usually the first thing you do in my tables; get used to it and make it a habit).
2) Pick the Item Hash from the drop-down list (double-click the Value).
3) Set Quantity to whatever amount you want.
4) Click the checkbox in front of Add Resource entry.



Now.. the OBSERVATIONS:

1) First and foremost, make a BACKUP of your save-game. Either normal Esc > Save > Manual or backing up the file on disk. The script doesn't break it or progression, but just to be SAFE. The location is %USERPROFILE%/Saved Games/God of War/<steamid>/game.sav. Copy, paste, rename if you want so you know it's your backup.

2) From time to time, as the game's Lua stack gets fucked up and a buffer overrun occurs, you WILL CRASH. That is normal in the context of how this shit works, it will happen, it won't break your progression or save-game. Just restart the game and do it again. The silver lining is once it works, the game auto-saves what you've added, so you don't need to do it all over again ;)

3) There are several types of items: the ones that you get as quantities > 1, those you pick-up only with quantity 1 and visual items. The reason I am explaining all of this:

- when you add Hacksilver, for example, it will work all the time (add as much as you want, as many times)
- when you add some item for which, when picked up, you see a big ass message in the middle of the screen (e.g.: Gunnr's Helm), you will be able to add it only once per session (don't ask, I don't know why, not gonna look into it or fix it; that's how it is)
- when you add some item which is a visual only (e.g.: Iðunn Apple, Muspelheim Cipher Piece), you will get the effect, but not the quantity; it's just a visual thing (again, don't ask, don't know why, not gonna do more about it)

4) Lastly, for SOME of the items you normally get in quantities of 1 from a pick-up, you can't get through the script more than 1 at a time. It's not a rule all the time, as for example, it works fine to add 4 Dust of Realms in one run. So even if you put 100 for Frozen Flame, you get 1. The game has a LootTable in which is queries for these items and reads default quantity to add (this is just my assumption, not something confirmed). But then again.. once it's in your inventory, you can combine it with aSwedishMagyar's table (viewtopic.php?p=230323#p230323) and edit the quantities ;) I've left an EXCEL FILE at the bottom so you'd know which are the INTERNAL NAMES to look for - 2nd column - as aSwedishMagyar lists the inventory items by their internal names.

5) To see the effect, that the item was added, once you activate the script, get back to game and hit Esc (game auto-opens Inventory when you Alt-Tab). You will see the message spawn on screen and quantity get added.

6) Don't like clicking the checkbox in front of Add Resource script 2 times per add? Open the script (right-click > Change script) and uncomment - remove the -- - line 13. Now you won't have to disable the script every time you want to do another add. The draw-back is you won't see the script getting enabled, but the Lua code inside it will run.

7) I've also attached an EXCEL file containing more details about these items, such as hash, internal name, game name, category, rarity, description, a column to compute the CE drop-down value in case you want to update it.. and notes:

Image

If you think it's faster for you to use the Excel file rather than the drop-down in CE, then: open the Excel file, copy a hash, double-click the Value area for the Item Hash field so the box opens up and paste the hash in. It works like that as well :)

Image

8) Special thanks to cfemen for assisting, testing and helping fill out that Excel file ;)

That being said...

< files removed; obsolete >

[ Update 16-Jan-22 ]

[+] Adjusted God Mode to now use a QueryHealth hook, which gets MaxHealth and updates Health to MaxHealth -AND- hooked the UpdateHealth function as well, so when you get hit, you get max there as well. Hope this way there won't be any bitching about "I got killed".

[+] Added more hashes to the Hook Inventory Reader script. Thanks cfemen! NOTE: A lot of the ?? lines become available once you've completed a set of upgrades the move you to next Tier where that said resource is required. Example: if you upgrade Axe Pommel from 1 to 2, for level 3 you will be asked to provide "World Serpent Scale Fragment". If you close shop, open Inventory (with script enabled) and close it, then check CE, you will now see 0 instead of ?? for "World Serpent Scale Fragment". Edit it to whatever you want and upgrade the Pommel :)

Re-download from same link below.

[ Update 15-Jan-22 ]

[+] Added God Mode. It will refill your Health bar to max (including upgrades) and set 2 flags to 1 so it will never decrease again.

**

Hi folks. Starting a home-run on this title as well. So far, am liking what I'm seeing in the Engine. Found a bit of Lua as well. Cool stuff.

Starter table with a list of pointers. Should work on Steam and EGS as well. Will add more as I progress.

Image

Run [ Initialize ] script, then activate Hook Inventory Reader script and open your inventory with I key. The list should become valid :P

BR,
Sun

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

User avatar
Kamse
Expert Cheater
Expert Cheater
Posts: 80
Joined: Sat Apr 07, 2018 11:40 am
Reputation: 20

Re: God of War [Engine:Unknown]

Post by Kamse »

The boss is at work.

chrisreddot3
Expert Cheater
Expert Cheater
Posts: 461
Joined: Sun Mar 24, 2019 1:38 am
Reputation: 82

Re: God of War [Engine:Unknown]

Post by chrisreddot3 »

i think atreus arrows is float,but didnt get any luck yet,crashing when i try to find his arrows,and kratus hp not find yet too.

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: God of War [Engine:Unknown]

Post by SunBeam »

Alright, fixed my shit :) Now it should work. This is the encoding function for NAMES:

Code: Select all

GoW.exe+6CD323 - 45 0FB6 01            - movzx r8d,byte ptr [r9]
GoW.exe+6CD327 - 45 84 C0              - test r8l,r8l
GoW.exe+6CD32A - 74 56                 - je InventoryReader { ->GoW.exe+6CD382 }
GoW.exe+6CD32C - 49 FF C1              - inc r9
GoW.exe+6CD32F - 45 84 C0              - test r8l,r8l
GoW.exe+6CD332 - 74 4E                 - je InventoryReader { ->GoW.exe+6CD382 }
GoW.exe+6CD334 - 0F1F 40 00            - nop dword ptr [rax+00]
GoW.exe+6CD338 - 0F1F 84 00 00000000   - nop dword ptr [rax+rax+00000000]
GoW.exe+6CD340 - 41 0FB6 D0            - movzx edx,r8l
GoW.exe+6CD344 - 4D 8D 49 01           - lea r9,[r9+01]
GoW.exe+6CD348 - 41 80 E8 61           - sub r8l,61 { 97 }
GoW.exe+6CD34C - 41 80 F8 19           - cmp r8l,19 { 25 }
GoW.exe+6CD350 - 45 0FB6 41 FF         - movzx r8d,byte ptr [r9-01]
GoW.exe+6CD355 - 8D 42 E0              - lea eax,[rdx-20]
GoW.exe+6CD358 - 0FB6 C8               - movzx ecx,al
GoW.exe+6CD35B - 0F47 CA               - cmova ecx,edx
GoW.exe+6CD35E - 0FB6 C1               - movzx eax,cl
GoW.exe+6CD361 - 49 03 C3              - add rax,r11
GoW.exe+6CD364 - 4C 69 D8 01040000     - imul r11,rax,00000401 { 1025 }
GoW.exe+6CD36B - 49 8B C3              - mov rax,r11
GoW.exe+6CD36E - 48 C1 E8 06           - shr rax,06 { 6 }
GoW.exe+6CD372 - 4C 33 D8              - xor r11,rax
GoW.exe+6CD375 - 45 84 C0              - test r8l,r8l
GoW.exe+6CD378 - 75 C6                 - jne GoW.exe+6CD340
GoW.exe+6CD37A - 48 8B 94 24 98000000  - mov rdx,[rsp+00000098]
GoW.exe+6CD382 - E9 C93193FF           - jmp Trampolines { ->->19DB3E50000 }
For example, XP is called EconomyXP. That string is ran through that encoding function and a QWORD is returned: 0x027813962AA4FD9C.

chrisreddot3
Expert Cheater
Expert Cheater
Posts: 461
Joined: Sun Mar 24, 2019 1:38 am
Reputation: 82

Re: God of War [Engine:Unknown]

Post by chrisreddot3 »

HP is float too

first28
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Dec 21, 2021 11:32 pm
Reputation: 0

Re: God of War [Engine:Unknown]

Post by first28 »

Thank you for the table!

Bloodgutter
Noobzor
Noobzor
Posts: 9
Joined: Fri Jan 14, 2022 11:50 pm
Reputation: 14

Re: God of War [Engine:Unknown]

Post by Bloodgutter »

Yeah HP PTR is at address "GoW.exe"+011ABEB8 + offset 388
Rage is HP + 60

Both are float

Does anyone have an idea how to get item IDs ?
I wanted to replace my rags with Zeus set on first playthrough but all I've done is mess up strings in inventory panel.
@Sun I've tried to understand your Inventory script but failed to grasp it, is it posible to do some item swapping ?

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: God of War [Engine:Unknown]

Post by SunBeam »

Bloodgutter wrote:
Sat Jan 15, 2022 12:04 am
Does anyone have an idea how to get item IDs ?
I wanted to replace my rags with Zeus set on first playthrough but all I've done is mess up strings in inventory panel.
@Sun I've tried to understand your Inventory script but failed to grasp it, is it posible to do some item swapping ?
God of War uses some intricate encoding/decoding, as well as something I haven't seen so far: they count initialized inventory items by flags/bits via popcnt instruction:

Code: Select all

GoW.exe+6CD241 - 48 8B 51 18           - mov rdx,[rcx+18]
GoW.exe+6CD245 - 66 66 66 0F1F 84 00 00000000  - nop word ptr [rax+rax+00000000]
GoW.exe+6CD250 - F3 0FB8 02            - popcnt eax,[rdx]
GoW.exe+6CD254 - 03 F0                 - add esi,eax << sum here
GoW.exe+6CD256 - 48 8D 52 04           - lea rdx,[rdx+04]
GoW.exe+6CD25A - 49 83 E8 01           - sub r8,01 { 1 }
GoW.exe+6CD25E - 75 F0                 - jne GoW.exe+6CD250
GoW.exe+6CD260 - 41 89 32              - mov [r10],esi
The above reads the start of the Inventory tree, then computes "how many are there initialized?" by summing bits. This value is then used for comparison in the loop that reads the item names, encodes them and outputs their quantities.

No, this is not for item editing, it can be used to iterate what you already have in the inventory and their quantities.

duducasarotto
Expert Cheater
Expert Cheater
Posts: 112
Joined: Wed Apr 10, 2019 2:32 am
Reputation: 13

Re: God of War [Engine:Unknown]

Post by duducasarotto »

I will be happy if there is a unlock all items cheat, either via giving to the player on the inventory or making the dwarfs sell it, if not at least a give all materials and unlock all store items in the beggining will be cool

MinionDad
Noobzor
Noobzor
Posts: 5
Joined: Sat Jan 15, 2022 6:53 am
Reputation: 3

Re: God of War [Engine:Unknown]

Post by MinionDad »

Any chance for a cheat code to extend perfect dodge timing or perfect parry timing? It would be awesome. Love your table. Thank you.

AlienStorm
Noobzor
Noobzor
Posts: 7
Joined: Fri Oct 23, 2020 4:13 pm
Reputation: 2

Re: God of War [Engine:Unknown]

Post by AlienStorm »

God of War [Engine:Unknown]

Engine:internal of the Sony Santa Monica
The latest GOW game which came out in 2018, uses a proprietary system created by Sony Santa Monica. It doesn't have a name.

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: God of War [Engine:Unknown]

Post by SunBeam »

^ If it doesn't have a name, then it's "Unknown". You think I've not done my research before all of this? :D Plus it would take a lot of space in the title of the topic if I were to use that long name you wrote.

Anyway, updated main post with God Mode.

totodudu
Cheater
Cheater
Posts: 25
Joined: Sat May 01, 2021 9:05 am
Reputation: 1

Re: God of War [Engine:Unknown]

Post by totodudu »

THX is perfect

Gameofkings
What is cheating?
What is cheating?
Posts: 1
Joined: Sat Jan 15, 2022 8:32 am
Reputation: 0

Re: God of War [Engine:Unknown]

Post by Gameofkings »

Hey SunBeam,

Created an account just to say thank you and I appreciate your hard work. So quick at creating one for this! Cheers.

User avatar
Kamse
Expert Cheater
Expert Cheater
Posts: 80
Joined: Sat Apr 07, 2018 11:40 am
Reputation: 20

Re: God of War [Engine:Unknown]

Post by Kamse »

For what it's worth, just throwing my 2 cents.
The game has already been cheated on ps4, maybe some of the codes could help even if i know that it's using a new engine:

[Link] (search for God of War, and then view code)

Code: Select all

{
      "name": "Max and Infinite Bow Arrows",
      "type": "checkbox",
      "memory": [
        {
          "offset": "C58F60",
          "on": "C5EA5FC34181FB011000007409C5FA5DDCE97BE588FF4183FE0075F14183FC0075EBF30F10DCE966E588FF",
          "off": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "offset": "4E74E9",
          "on": "E9721A7700909090",
          "off": "C5EA5FC3C5FA5DDC"
        }
      ]
    }

Post Reply

Who is online

Users browsing this forum: admantx, Arkadoc, Bing [Bot], Gear2ndGandalf, Google [Bot], Google Adsense [Bot], heir, Jsdf1995, l2ayqualza, Majestic-12 [Bot], Mr. Seth Marshall, oracular, OwerKill