GameMaker Basic Table

Upload *YOUR* gamehacking tools/helpers here
Post Reply
User avatar
Cake-san
Table Makers
Table Makers
Posts: 425
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 770

GameMaker Basic Table

Post by Cake-san »

Thanks to @aSwedishMagyar tutorials & some trials & errors , this simple table/tool had been made.

viewtopic.php?f=10&t=17695
viewtopic.php?f=10&t=16018
viewtopic.php?f=10&t=15885

Note: This table only cover some gamemaker games & there're a few that I doesn't manage to make it work because my insufficient knowledge for older game on finding the nameindex & other stuff.

Update 1
- Added global var scanner (thanks to aSwedishMagyar)
- Fixed namelist scanner for a few games...
- etc
Attachments
gamemaker_.CT
Update 1
(27.55 KiB) Downloaded 1613 times
gamemaker_.CT
(25.06 KiB) Downloaded 442 times
Last edited by Cake-san on Thu Nov 04, 2021 5:22 pm, edited 3 times in total.

aSwedishMagyar
Table Makers
Table Makers
Posts: 670
Joined: Mon Jul 06, 2020 3:19 am
Reputation: 1190

Re: GameMaker Basic Table

Post by aSwedishMagyar »

Just gonna put mine in here as well.
This one doesn't auto-detect offsets so you'll need to know what each one is to modify for your game.
I'll append an explanation below over the weekend to go over what each offset represents.

Current Table:
GameMaker_Template(x32-x64)_aSwedishMagyar.CT
03-11-2021
v1.0
(26.49 KiB) Downloaded 3875 times

Current Options:
  • GameMaker Tools
    • Generate Records
      • Generate Object Variables
      • Generate Global Variables
    • Create Dump
      • Dump Script Names
      • Dump Object Names
      • Dump Object CCodes
      • Dump Names/Indexes

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

Re: GameMaker Basic Table

Post by SunBeam »

Any example games you'd recommend to take these out for a spin? :)

aSwedishMagyar
Table Makers
Table Makers
Posts: 670
Joined: Mon Jul 06, 2020 3:19 am
Reputation: 1190

Re: GameMaker Basic Table

Post by aSwedishMagyar »

SunBeam wrote:
Wed Nov 03, 2021 7:28 pm
Any example games you'd recommend to take these out for a spin? :)
I believe Loop Hero, Astronarch, Hero Siege, Death's Gambit, Chronicon, The Swords of Ditto, and a few others will work directly with mine without serious modification but you may have to change the GM.Strings.IndexCorrection value. Some games, like Katana Zero, the order of the AOBs unfortunately finds the wrong section for the global variables so you may want to play around with that as well. You can easily find the global variables pointer by looping through the process at 4-8 bytes at a time (x32 or x64) and checking if it points to an instance of YYObjectBase.

User avatar
RTX_XXXX
Expert Cheater
Expert Cheater
Posts: 124
Joined: Thu Sep 24, 2020 6:02 pm
Reputation: 172

Re: GameMaker Basic Table

Post by RTX_XXXX »

some more games : 1-Dead State 2-Critadel ..

User avatar
Cake-san
Table Makers
Table Makers
Posts: 425
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 770

Re: GameMaker Basic Table

Post by Cake-san »

SunBeam wrote:
Wed Nov 03, 2021 7:28 pm
Any example games you'd recommend to take these out for a spin? :)
Although there are a few older game that the table doesn't support because of name index handling is different, like deadbolt,.. most
older game like Hyper Light Drifter, Undertale , Nuclear Throne, etc works the way as it should...

Just let me know on what newer game this table doesn't work, though... :ph34r:
aSwedishMagyar wrote:
Wed Nov 03, 2021 8:26 pm
You can easily find the global variables pointer by looping through the process at 4-8 bytes at a time (x32 or x64) and checking if it points to an instance of YYObjectBase.
Haha, i never thought about that... added that feature into the table... thanks ^_^

Icew0lf
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Oct 14, 2022 11:59 am
Reputation: 1

Re: GameMaker Basic Table

Post by Icew0lf »

aSwedishMagyar wrote:
Wed Nov 03, 2021 6:24 pm
Just gonna put mine in here as well.
This one doesn't auto-detect offsets so you'll need to know what each one is to modify for your game.
I'll append an explanation below over the weekend to go over what each offset represents.

Current Table:
GameMaker_Template(x32-x64)_aSwedishMagyar.CT


Current Options:
  • GameMaker Tools
    • Generate Records
      • Generate Object Variables
      • Generate Global Variables
    • Create Dump
      • Dump Script Names
      • Dump Object Names
      • Dump Object CCodes
      • Dump Names/Indexes
Thanks for your post. if i hit "Generate Global Variables" it just creates a pointer instead of a resultwindow. Anything i am missing?
Thanks in advance

Ice

jgoemat
Table Makers
Table Makers
Posts: 66
Joined: Fri Jul 21, 2017 6:47 pm
Reputation: 68

Re: GameMaker Basic Table

Post by jgoemat »

SunBeam wrote:
Wed Nov 03, 2021 7:28 pm
Any example games you'd recommend to take these out for a spin? :)
This is great! Zero Sievert with offset 0 is good. I created a table based on the template that has a script to only show the values I've found that are useful:

viewtopic.php?p=280779#p280779

You can call collectGlobalVariables() and then setup pointers using the values. For objects you need collectObjectNames(), collectObjectVariables("obj_player"), and collectObjectInstances("obj_player") to find and populate the addresses.

jgoemat
Table Makers
Table Makers
Posts: 66
Joined: Fri Jul 21, 2017 6:47 pm
Reputation: 68

Re: GameMaker Basic Table

Post by jgoemat »

aSwedishMagyar wrote:
Wed Nov 03, 2021 6:24 pm
Just gonna put mine in here as well.
This one doesn't auto-detect offsets so you'll need to know what each one is to modify for your game.
I'll append an explanation below over the weekend to go over what each offset represents.
Thanks for the amazing table! In the most recent update to Zero Sievert (v0.28), they changed to 64 bit and I had to change this, I don't know if it is related to a new game maker version or just this game, but if anyone is having trouble with a newer game you might try this:

Code: Select all

    -- JASON: Change to 0x48 for 64 bit
    -- GM.Object.VarArray = targetIs64Bit() and 0x58 or 0x2C
    GM.Object.VarArray = targetIs64Bit() and 0x48 or 0x2C

Post Reply

Who is online

Users browsing this forum: No registered users