Page 1 of 1

Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Mon Mar 16, 2020 1:18 pm
by SunBeam
Game Name: Astroneer
Game Vendor: Steam
Game Version: 1.10.97.0 [ check build.version file in ASTRONEER folder -OR- OPTIONS tab in-game (SOFTWARE VERSION > ASTRONEER) ]
Game Process: Astro-Win64-Shipping.exe
Game File Version: 4.18.2-0+++UE4+Release-4.18



Hello folks.

Decided to give this a go. The first release contains the well-known DLL that allows the creation of the stripped-out console, as well as dumping Unreal Engine list of Names and real-time Objects. That being said, please follow the below instructions:
  • Download the archive; extract content to a folder of your choice.
  • Run the game, get to main menu.
  • Run IGCSInjector.exe. You can close it when asked.
  • Takes 1-2 seconds for the DLL to find the stuff, StaticCreate the Console UObject and dump Names/Objects to disk in the Win64 folder (e.g.: C:\SteamLibrary\steamapps\common\ASTRONEER\Astro\Binaries\Win64)
  • You may then use Tilde (~) key to open up the console in-game.
Astroneer_ConsoleDumper.rar
pass: sunbeam
(181.59 KiB) Downloaded 450 times

Notes:
  • The dump location is your game folder (e.g.: C:\SteamLibrary\steamapps\common\ASTRONEER\Astro\Binaries\Win64). You will find 2 files there: NamesDump.txt and ObjectsDump.txt. You'll be very interested in the 2nd one :)
  • The .txt files are generated at "run-time". What this means is if you transition in-game from one map to another or from main menu to game world and backwards, you need to re-dump them. Why? UE4 destroys and recreates UObjects; re-initialization. To re-dump the .txt files press Numpad / (no, key can't be changed).
The cheat table will follow shortly, as I progress with this. I've seen the other topic where there's a lot of confusion and discussions around crashes or whatnot: viewtopic.php?f=4&t=199.

First-up, the game uses SteamDRM. Any attempt at debugging the game with a standard debugger (like x64dbg, even with ScyllaHide plugin) will cause an exception, freeze the game and eventually crash it (it closes after 5-10s). Two ways to go about this:
  • Steamless: [Link]
    You can use this tool to strip out the DRM. You will therefore obtain an Steam-envelope-free executable and can debug it with x64dbg.
  • Cheat Engine with VEH or kernel-mode debugger.
    Either works just fine one my end.
Secondly, like in many other UE4 games, the Shipping build will have stripped any cheat functionality. When I say stripped, I don't mean access disabled, but the actual entire code not compiled in the release build. For example, the core code of the "fly" or "ghost" functionality isn't there. However, with a little bit of rebuilding skills (using a locally compiled UE4 game on my end), I would be able to restore this functionality :) Like I did in many other games.

Thirdly, aside from the stock ones, there's a small list of 'Astro'CheatManager' commands available, which don't seem to work right away. Like I mentioned, it takes a little bit of code-restoration or tweaking:

Code: Select all

Function Astro.AstroCheatManager.AstroAllProbesSpawnWandererRealityTear
Function Astro.AstroCheatManager.AstroDebugFakeDeadlockAndCrash
Function Astro.AstroCheatManager.AstroFindVintageProbe
Function Astro.AstroCheatManager.AstroGrantResearchPoints
Function Astro.AstroCheatManager.AstroPlayOutroCinematic
Function Astro.AstroCheatManager.AstroResetNumTimesCreativeTutorialShown
Function Astro.AstroCheatManager.AstroRevealGateStation
Function Astro.AstroCheatManager.AstroToggle2DUI
Function Astro.AstroCheatManager.AstroToggleHUD
Function Astro.AstroCheatManager.AstroToggleWorldUI
Function Astro.AstroCheatManager.ServerGrantResearchPoints
Function Astro.AstroCheatManager.ServerPlayOutroCinematic
Function Astro.AstroCheatManager.ServerRevealGateStation
Function Astro.AstroCheatManager.ToggleDrillUI
Function Astro.AstroCheatManager.ToggleSelectionOutline
Function Astro.AstroCheatManager.ToggleStreamingPowerDebugVis
For example, AstroGrantResearchPoints, when made executable, will give you research points.

More to follow.

BR,
Sun

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Mon Mar 16, 2020 1:50 pm
by SunBeam
For Unlimited Oxygen there is a CVar :) It's called astro.UnlimitedOxygen. It's reference can be found right in the middle of the oxygen tick function:

Image

Which means now I want to obtain a list of CVars, as well as un-restrict them :)

BR,
Sun

EDIT: Turns out there aren't any useful CVars and that one mentioned above is un-linked. However, I was able to track down the conditional and a 1-byte patch gives you Unlimited Oxygen riiiight here:
Astro-Win64-Shipping.exe+7D2FE4 - 48 8D 15 CD364D02 - lea rdx,[Astro-Win64-Shipping.exe+2CA66B8] { ("astro.UnlimitedOxygen") }
Astro-Win64-Shipping.exe+7D2FEB - 48 8B 4C 24 40 - mov rcx,[rsp+40]
Astro-Win64-Shipping.exe+7D2FF0 - E8 4B692700 - call Astro-Win64-Shipping.exe+A49940
Astro-Win64-Shipping.exe+7D2FF5 - 90 - nop
Astro-Win64-Shipping.exe+7D2FF6 - 48 8D 55 98 - lea rdx,[rbp-68]
Astro-Win64-Shipping.exe+7D2FFA - 48 8D 4C 24 40 - lea rcx,[rsp+40]
Astro-Win64-Shipping.exe+7D2FFF - E8 6C40F3FF - call Astro-Win64-Shipping.exe+707070
Astro-Win64-Shipping.exe+7D3004 - 90 - nop
Astro-Win64-Shipping.exe+7D3005 - 48 8B 4C 24 40 - mov rcx,[rsp+40]
Astro-Win64-Shipping.exe+7D300A - 48 85 C9 - test rcx,rcx
Astro-Win64-Shipping.exe+7D300D - 74 06 - je Astro-Win64-Shipping.exe+7D3015
Astro-Win64-Shipping.exe+7D300F - E8 0C3F2900 - call Astro-Win64-Shipping.exe+A66F20
Astro-Win64-Shipping.exe+7D3014 - 90 - nop
Astro-Win64-Shipping.exe+7D3015 - 48 8B CE - mov rcx,rsi
Astro-Win64-Shipping.exe+7D3018 - E8 E3E1EFFF - call Astro-Win64-Shipping.exe+6D1200
Astro-Win64-Shipping.exe+7D301D - 41 8B CD - mov ecx,r13d
Astro-Win64-Shipping.exe+7D3020 - 84 C0 - test al,al // result would be 1 if CVar existed and set to 1
Astro-Win64-Shipping.exe+7D3022 - 0F95 C1 - setne cl // flips ZF
Astro-Win64-Shipping.exe+7D3025 - 01 4D 98 - add [rbp-68],ecx
Astro-Win64-Shipping.exe+7D3028 - 74 05 - je Astro-Win64-Shipping.exe+7D302F // this is skipped
Astro-Win64-Shipping.exe+7D302A - F3 41 0F5F F1 - maxss xmm6,xmm9 // always Oxygen_Max in xmm6
Astro-Win64-Shipping.exe+7D302F - 4D 85 FF - test r15,r15
The effect.. your oxygen would never go down, as it's always maintained at current value (it will increase as soon as you return to a tether point).

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Mon Mar 16, 2020 4:35 pm
by SunBeam
Then there is another CVar called Astro.EnableBackpackTrickleCharge. What this does is to slowly restore your backpack's power to full once you use the backpack to create stuff (outside of a habitat). Setting it to 1 enables this to run:

Code: Select all

Astro-Win64-Shipping.exe+7D2E64 - 83 3D 95F8F103 00     - cmp dword ptr [Astro-Win64-Shipping.exe+46F2700],00 { (1),0 }
Astro-Win64-Shipping.exe+7D2E6B - 74 26                 - je Astro-Win64-Shipping.exe+7D2E93
Astro-Win64-Shipping.exe+7D2E6D - E8 AE002200           - call Astro-Win64-Shipping.exe+9F2F20 // < from here
Astro-Win64-Shipping.exe+7D2E72 - 4D 8B 07              - mov r8,[r15]
Astro-Win64-Shipping.exe+7D2E75 - 48 8B D0              - mov rdx,rax
Astro-Win64-Shipping.exe+7D2E78 - 49 8B CF              - mov rcx,r15
Astro-Win64-Shipping.exe+7D2E7B - 41 FF 90 C8050000     - call qword ptr [r8+000005C8]
Astro-Win64-Shipping.exe+7D2E82 - 41 0F28 CC            - movaps xmm1,xmm12
Astro-Win64-Shipping.exe+7D2E86 - F3 41 0F59 CB         - mulss xmm1,xmm11
Astro-Win64-Shipping.exe+7D2E8B - 48 8B C8              - mov rcx,rax
Astro-Win64-Shipping.exe+7D2E8E - E8 DDC90900           - call Astro-Win64-Shipping.exe+86F870
Astro-Win64-Shipping.exe+7D2E93 - 80 BB 38040000 00     - cmp byte ptr [rbx+00000438],00 // > till here
BR,
Sun

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Tue Mar 17, 2020 5:42 pm
by squall0833
thanks, gonna takes sometime for me to learn

it's something new to me :)

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Tue Mar 17, 2020 7:54 pm
by Zanzer
SunBeam loves teaching!

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Tue Apr 14, 2020 9:48 pm
by SvT
This is just way too advanced for me :)
I assume this isn't really possible for the Windows Store version because you can't even get access to any of the game files other than the saves.

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Wed Apr 15, 2020 6:08 am
by SunBeam
^ Short version: you are correct. Long version: it's possible, though not worth the trouble of figuring out how to make a sandbox (that's what UWP is) write to the outside. It behaves like a virtual machine for which you need special actions to make it communicate with the OS or even access the storage drive(s). So there you go.

Re: Astroneer [Engine:Unreal 4.18] - Console enabler, Dumper and more..

Posted: Thu Jul 01, 2021 12:59 pm
by fuzzywuff
will there be an update for it to work on version 1.20.265 ?

I am curious about getting the ability to wear the MTX cosmetic and such.