Astroneer

Upload your cheat tables here (No requests)
squall0833
Fearless Donors
Fearless Donors
Posts: 151
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 57

Re: Astroneer

Post by squall0833 » Thu Aug 01, 2019 12:32 pm

This might be why you only got Oxygen worked.

I will mark the lines with red color which might be the cause

try to test with them by comment// them out and activate the cheat
find out which line is the massive resource that doesnt work.
For example, try start with this see if massive resource start working...

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
//e 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

newmem:
pushf
cmp [rbx+A8],0B920489 //check if it's resources
je massRes

cmp [rbx+A8],0B920499 -------else, compare rbx+a8 again if it is 0B920499
je infOxy -------if equal, rbx+170 is oxygen, jump to infOxy:
jmp code ---- anything else, jump to original code

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

infOxy:
cmp [infOxy_F],1
jne code
mov [rbx+00000170],#277200
popf
jmp return

vehSoil:
cmp [insCanis_F],1
jne code
// push edi
// mov edi,[CanisMul]
mov [rbx+00000170],#138600
// pop edi
popf
jmp return

insCanis:
cmp [insCanis_F],1
jne code
push edi
mov edi,[CanisMul]
mov [rbx+00000170],edi
pop edi
popf
jmp return

CanisMul:
dd #138600

code:
popf
mov [rbx+00000170],eax
jmp return

massRes_F:
dd 1

infOxy_F:
dd 1

insCanis_F:
dd 1

CHEATS:
jmp newmem
nop
return:
registersymbol(CHEATS)

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

Re: Astroneer

Post by Relentless1 » 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?

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

Re: Astroneer

Post by Relentless1 » 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?

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

Re: Astroneer

Post by Relentless1 » Thu Aug 01, 2019 6:01 pm

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » Thu Aug 01, 2019 6:23 pm

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » Thu Aug 01, 2019 6:40 pm

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
Fearless Donors
Fearless Donors
Posts: 151
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 57

Re: Astroneer

Post by squall0833 » Fri Aug 02, 2019 3:25 am

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
Fearless Donors
Fearless Donors
Posts: 151
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 57

Re: Astroneer

Post by squall0833 » Fri Aug 02, 2019 3:32 am

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » 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.

squall0833
Fearless Donors
Fearless Donors
Posts: 151
Joined: Sat Mar 04, 2017 1:46 pm
Reputation: 57

Re: Astroneer

Post by squall0833 » Sat Aug 03, 2019 1:40 pm

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » Sun Aug 04, 2019 8:46 pm

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » Tue Aug 06, 2019 6:18 pm

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: 181
Joined: Fri Mar 03, 2017 10:48 pm
Reputation: 376

Re: Astroneer

Post by Zanzer » 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?

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
Novice Cheater
Novice Cheater
Posts: 16
Joined: Sun Jul 28, 2019 9:09 am
Reputation: 0

Re: Astroneer

Post by Relentless1 » 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.

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

Re: Astroneer

Post by Relentless1 » Wed Aug 07, 2019 7:43 pm

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.

Post Reply

Who is online

Users browsing this forum: Alex_182, Arkhana, atamax, Bing [Bot], CunnyLingus, DrCoke92, ezafach, Google Adsense [Bot], gs9511, Lateralus, LeProphet