Space Idle ( try to found pointers on Godot game )

Memory scanning, code injection, debugger internals and other gamemodding related discussion
Post Reply
User avatar
AzaHuull
Noobzor
Noobzor
Posts: 14
Joined: Mon May 13, 2024 7:54 pm
Reputation: 8

Space Idle ( try to found pointers on Godot game )

Post by AzaHuull »

hello i m new to hacking methods, i read a lot on this forum and try various techniques for making Cheat Table on different games
then i try to do a CT on Unamed Space Idle ( an idle steam game made in Godot )but i m totaly blocked on this game

every value is double and easy to found with scan methode but i want to made the CT permanent and not searching value every time i restart the game.

i try pointer scan / pointer map method ( with default value max offset :4095 and max level 7 ) but the game act a way i never see . all offset change and i can't found a way to found pointer.
after compare pointer map there is no result, and i can't even found a pointer when i force the last offset with +08 ( strange )

almost every value in the game go to the same code structure ( 3 code that are used by all value )

Code: Select all

SpaceIdle.exe.text+190F28B - F2 0F10 41 08         - movsd xmm0,[rcx+08]
SpaceIdle.exe.text+190E18A - 48 8B 47 08           - mov rax,[rdi+08]
SpaceIdle.exe.text+191D3A8 - 48 89 43 08           - mov [rbx+08],rax

Spoiler
[Link]
i if a do a " what access " i can found almost all value i need but in result i have lot a result and most are useless.
i try to found a structure with AOB scan but every pointer change all time and work few time when the day change the AOB scan no more working

for exemple : i found offset inbetween value of Salvage and total synth point on time it's +11C0 and a second time it will be +16C0 there is no consistency

Spoiler
[Link]
do i have to use IDA or something else to do my hack on this game ? Is there a better methode for founding static pointer on this game ?

i m happy to learn more ,thanks in advance for any advice

User avatar
AzaHuull
Noobzor
Noobzor
Posts: 14
Joined: Mon May 13, 2024 7:54 pm
Reputation: 8

Re: Space Idle ( try to found pointers on Godot game )

Post by AzaHuull »

some news , i found a post from Cfemen with CT for brotato and a godot engine dissector inside the CT file.

>> here >> viewtopic.php?t=20835

i don't know if there is any way to use this for all godot game and/or if it is always working.

so i try

in "enable" script i change ( brotato.exe to Spaceilde.exe ) it look like it work ( if found the same AOB and i suppose it's a base code for any godot game )

then i try to activate the Lua script but after that nothing . I m a bit out of my knowledge !

Metanoia
Scammer
Posts: 71
Joined: Thu Mar 07, 2024 7:16 pm
Reputation: 42

Re: Space Idle ( try to found pointers on Godot game )

Post by Metanoia »

Don't use Godot if your just starting out it's an annoying engine to work with if you don't have tools. Try Unity or Unreal Engine instead. This way youll have Mono to help you out or Cake-San's tool which you can download from here.

User avatar
AzaHuull
Noobzor
Noobzor
Posts: 14
Joined: Mon May 13, 2024 7:54 pm
Reputation: 8

Re: Space Idle ( try to found pointers on Godot game )

Post by AzaHuull »

thx for the answers . i practice a lot with mono and .net info on unity game. i sometimes use IDA and DnSpy. first time i try a game in godot engine and it's a wall for me :) i search for a godot dissector but the only thing i found is on brotato CT from cfemen. i i have no idea how to make it work :)

i will continue practicing on different game !

jgoemat
Table Makers
Table Makers
Posts: 77
Joined: Fri Jul 21, 2017 6:47 pm
Reputation: 81

Re: Space Idle ( try to found pointers on Godot game )

Post by jgoemat »

I know this is an older post but I ran across it looking for exactly this game and found a cool open source project: [Link]

It has a UI that you can use to extract the pck file and view the source for all the scripts. The game uses gdscript and the project will decompile those so you can at least see how the code is organized, but it runs the code in a VM so writing a cheat using CE will be very difficult. I think it would require finding some method signatures for calls that can find scripts by name and offsets.

However, if you are just looking to cheat for yourself it is awesome. The game stores configuration in a JSON file. You can edit the extracted scripts and patch the game's pck file to do whatever you want also. I setup a directory for my patches and a batch file with this:

Code: Select all

gdre_tools --pck-patch=SpaceIdle.pck.original --output="C:\games\steam\steamapps\common\Unnamed Space Idle\SpaceIdle.pck" --patch-file=patch\game_data.cdb=res://game_data.cdb --patch-file=patch\player\PlayerShip.gd=res://player/PlayerShip.gd
So one thing I did was just edit values in the json file 'game_data.cb' to give the the Battle Shard I you get in level 1 insane stats:

Code: Select all

"id": "battle_shard_1",
"name": "Battle Shard I",
"texture": "assets/shards/battle_shard.png",
"effect": [
	{
		"target": "damage",
		"base_effect": 1e80,
		"modifier_type": "Multiplicative",
		"global_hook": "global",
		"self_multiplicative": false,
		"direct_connection": "resonance",
		"connection_type": "Self",
		"expression": "1e80+0.025*[x]",
		"color": "",
		"direct_connection2": "",
		"expression_connections": []
	},
I also gave my level 1 shields and weapons insane stats. I edited the function in PlayerShip.gd that is called when you take damage to just zero it. The JSON file is pretty darn big, but you can search for things by how they are displayed in-game for the most part like 'Battle Shard I'. Weapons and shields are a bit different I think, you have to find the first record with the name and then you get the id and search for that id and sift through all the occurences to find the place where the stats live.

Post Reply

Who is online

Users browsing this forum: No registered users