Astroneer

Upload your cheat tables here (No requests)
Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

By the way, I am still struggling with a couple of things:
1) How do you get the resource ids? Is there a table out there?
2) How do you make it to know what writes happen in the data segment? Are you monitoring the whole region? How do you configure that in cheat engine?

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

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

This made it work!

massRes:
/* cmp r10,0
je vehSoil //check if thats possibly vehicle canister
cmp r9,1 //check if thats crafting (building modules)
jne code
cmp r13,2 //check if thats oxy tank, exclude it
je code
cmp [rbx+108],3 //check if that's Canister
je insCanis
cmp r14,1 //check if that's small printer printing, exclude it
jne code
cmp r12,0 //check if thats atmosphere condenser, exclude it
je code
*/
cmp [massRes_F],1
jne code
mov [rbx+00000170],#138600
popf
jmp return

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

For Windows, this is the important part of the script that changes:

aobscanmodule(CHEATS,Astro-UWP64-Shipping.exe,89 83 70 01 00 00 85) // should be unique
alloc(newmem,$1000,"Astro-UWP64-Shipping.exe"+72F418)

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

For free crafting, the following array of byte scan returns me 3 entries, but none of them exactly match the instructions you have in the free crafting script, all point to microsoft xbox services.

48 8D 91 ?? ?? ?? ?? 48 8B CB E8 ?? ?? ?? ?? 48 8B C3 48 83 C4 30 5B C3

What am I looking for here? Can you give me some guidance?

squall0833
Table Makers
Table Makers
Posts: 196
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 81

Re: Astroneer

Post by squall0833 »

Relentless1 wrote:
Thu Aug 01, 2019 5:48 pm
Thank you. This is great guidance. I will give it a shot.

I also realized that when I have the script running, I can farm resources and get 1 item of them, but that the creation of items gets stuck until I disable the code. Has this happened to you before? Any thoughts on what could be causing this?

Yes, that means the "resources" on the printers/backpack shared the same opcode with massive resources oxygen,

At some point when cheat is enabled, it prevents the item being crafted from printers because it tries to modify the value of resources on printer, so printing progression being affected.


Thats why we need filter it out, two of the lines in the script "check if thats crafting(building)" and "check if thats small printer" do the job to fix item creation problem.

squall0833
Table Makers
Table Makers
Posts: 196
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 81

Re: Astroneer

Post by squall0833 »

Relentless1 wrote:
Thu Aug 01, 2019 5:54 pm
By the way, I am still struggling with a couple of things:
1) How do you get the resource ids? Is there a table out there?
2) How do you make it to know what writes happen in the data segment? Are you monitoring the whole region? How do you configure that in cheat engine?
The quicker way to identify what else that shared the opcode is go to the opcode in dissembler viewer, right click on it and" check what addresses access this "

So everything that happens in game realtime that shared the same opcode will be showing on the list, if you go print/ create something, you should see addresses pop up and they are the resources address u were looking for.

After u got the addresses for the resource, add them to table for monitor purpose, then check the addresses again with "what code writes to this". U will see same opcode show up, but u will have the different register value information and thats what i use to compare, filter out , exclude them from being modified when cheat is enabled.

Take note u have to do this part without enabling cheat, else it will crash the game.

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Thank you. What about free crafting, what can you tell me about it? That one, I have not managed to identify yet. The byte array is not present in the windows version.

squall0833
Table Makers
Table Makers
Posts: 196
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 81

Re: Astroneer

Post by squall0833 »

Relentless1 wrote:
Fri Aug 02, 2019 3:11 pm
Thank you. What about free crafting, what can you tell me about it? That one, I have not managed to identify yet. The byte array is not present in the windows version.
unfortunately, I haven't got to understand how the opcode work for craft for free, it might be entirely different on ur game version

what i know was changed something to 0 on the opcode that bypasses the requirements for enabling crafting/ printing in the game.

it's by Zanzer :D maybe he can help

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Yeah, it is most likely a condition to check on whether you have enough resources or not, and you basically ignore the condition and move forward anyway. I would like to understand what I am looking for here though. I think it would be useful to have a pointer to the astroneer's inventory, but I could be wrong.

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Zanzer wrote:
Sun Mar 05, 2017 11:43 pm
Can you give guidance into what I am looking for to make free crafting work? Is there a special condition? The current byte array cannot be matched in the Windows version.

Zanzer
RCE Fanatics
RCE Fanatics
Posts: 1086
Joined: Fri Mar 03, 2017 10:48 pm
Reputation: 3470

Re: Astroneer

Post by Zanzer »

How different was the Windows version? Did ANY of the other cheats in the table work for you?

You could try looking through these two functions and searching for random byte arrays. Maybe one will work.

This is the function I injected. After it copies what appears to be a recipe object, I modified the list of required resources to have a length of zero so the game thinks it had no requirements.

Code: Select all

40 53                 - push rbx
48 83 EC 30           - sub rsp,30 { 48 }
48 8B DA              - mov rbx,rdx
C7 44 24 20 00000000  - mov [rsp+20],00000000 { 0 }
48 8D 91 08010000     - lea rdx,[rcx+00000108]
48 8B CB              - mov rcx,rbx
E8 C0F2FEFF           - call Astro-Win64-Shipping.exe+747030
48 8B C3              - mov rax,rbx
48 83 C4 30           - add rsp,30 { 48 }
5B                    - pop rbx
C3                    - ret
This is the actual function that looks up the recipe and creates a copy. I've commented the exact line of code where the list's length comes from.

Code: Select all

48 89 4C 24 08        - mov [rsp+08],rcx
57                    - push rdi
48 83 EC 30           - sub rsp,30 { 48 }
48 C7 44 24 20 FEFFFFFF - mov qword ptr [rsp+20],FFFFFFFE { -2 }
48 89 5C 24 48        - mov [rsp+48],rbx
48 89 74 24 50        - mov [rsp+50],rsi
48 8B D9              - mov rbx,rcx
48 89 4C 24 40        - mov [rsp+40],rcx
33 C0                 - xor eax,eax
48 89 01              - mov [rcx],rax
48 63 7A 08           - movsxd  rdi,dword ptr [rdx+08] // <<< list length is here
48 8B 32              - mov rsi,[rdx]
89 79 08              - mov [rcx+08],edi
85 FF                 - test edi,edi
75 05                 - jne Astro-Win64-Shipping.exe+74706D
89 41 0C              - mov [rcx+0C],eax
EB 1D                 - jmp Astro-Win64-Shipping.exe+74708A
45 33 C0              - xor r8d,r8d
8B D7                 - mov edx,edi
E8 393CD101           - call Astro-Win64-Shipping.exe+245ACB0
4C 8B C7              - mov r8,rdi
49 C1 E0 04           - shl r8,04 { 4 }
48 8B D6              - mov rdx,rsi
48 8B 0B              - mov rcx,[rbx]
E8 8F150902           - call Astro-Win64-Shipping.exe+27D8618 { ->->VCRUNTIME140.memcpy }
90                    - nop 
48 8B C3              - mov rax,rbx
48 8B 5C 24 48        - mov rbx,[rsp+48]
48 8B 74 24 50        - mov rsi,[rsp+50]
48 83 C4 30           - add rsp,30 { 48 }
5F                    - pop rdi
C3                    - ret
To find this address, I did a lot of random stuff. First, I picked a recipe that required two Compounds to construct, such as the Medium Printer. I then found the memory locations of two resources. One Compound and one Organic. I placed both of these resources on the printer so that it met 1/2 of the crafting requirements.

I then compared the memory locations side-by-side to see the differences. Luckily, a lot of the values were the same and I could ignore them. Eventually, I discovered that changing the +160 offset of the Organic resource to match the value inside the Compound resource actually caused the printer to allow me to craft, even though it contained one Organic and one Compound. So +160 must be the "Resource Type" variable.

I then started a brand new game so there weren't any resources scattered throughout the world and then did a search for the Compound resource type value. There were a lot of results... Through trial and error, I just started to change the results (hundreds at a time) to match the Organic resource type value. Eventually, I noticed that when making the change, the printer's requirement actually changed from two Compound into two Organic. So now I knew I was inside that recipe's list of ingredients.

I then found what instructions were accessing that value, which then led me to the two functions I copied above.

Best of luck!

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Zanzer wrote:
Tue Aug 06, 2019 10:50 pm
How different was the Windows version? Did ANY of the other cheats in the table work for you?
I was able to make massive resources, infinite oxygen and instant canister work.

I will now play around to see how to adapt the empty recipe for Windows. Thank you for the guidance.

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Relentless1 wrote:
Wed Aug 07, 2019 7:29 pm
Zanzer wrote:
Tue Aug 06, 2019 10:50 pm
How different was the Windows version? Did ANY of the other cheats in the table work for you?
I was able to make massive resources, infinite oxygen and instant canister work.

I will now play around to see how to adapt the empty recipe for Windows. Thank you for the guidance.
I have found exactly 6 memory regions that have the code of where the list comes from... I think I am getting closer now. I will see what accesses this memory region.

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

I was able to isolate the recipe lookup functions to either of these two:

Astro-UWP64-Shipping.FLinkerPlaceholderBase::FPlaceholderValuePropertyPath::FPlaceholderValuePropertyPath - 48 89 4C 24 08 - mov [rsp+08],rcx

Astro-UWP64-Shipping.FInstancedPropertyPath::FInstancedPropertyPath - 48 89 4C 24 08 - mov [rsp+08],rcx

Any chance you can tell me the name of the one you pasted above?

Relentless1
Cheater
Cheater
Posts: 38
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 »

Oh dear, turns out, the Windows version has the names of the functions, whereas the Steam version does not...

Post Reply