Page 1 of 9

Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 6:30 am
by SunBeam
[ 30 Nov 2019 - Update #1 ]

Cheat Engine 7.0 required!

Updates:
  • finished the CheatManager constructor
  • added a script to disable 'god' reset on various events (described here)
Image

How to:

1) Run the 2 steps below (from 'First Release' section). You will need the Console created to be able to make use of it. You can also use Frans' Universal Unlocker, no problem in doing that.
2) Run Cheat Engine, target 'starwarsjedifallenorder.exe' process and load the table up.
3) Activate the [ Enable ] script first, then activate the other two ones as you please:
  • StaticCreate CheatManager
    will create the CheatManager UObject tied to your SwPlayerCharacter; you can now use 'god', 'toggledebugcamera' or 'teleport' (and perhaps many others) commands
  • Prevent 'god' disable
    the script will hook the location in the engine where the bCanBeDamaged bool is reset by the various events I've listed in the post here; you will need the CheatManager UObject created so you can run the 'god' command; using this script without the one above is useless!
  • Clear Console
    the script just clears up the Console output, just in case you find it overcrowded with bloated stuff

Download:
starwarsjedifallenorder.CT
Update #1
(22.71 KiB) Downloaded 9868 times


Supporting video with commentary (I recommend watching it, as you may learn a thing or two; yeah, it's 40min long, so don't whine):



Note that using stock 'god' with the prevent script above will disable the parrying ability. It still works to right-click, though there won't be any contact with the AI.

BR,
Sun

[ 15 Nov 2019 - First Release ]

Game Name: Star Wars Jedi: Fallen Order
Game Vendor: Steam
Game Version: 4.21-CL-0 (use gamever command in the console)
Game Process: starwarsjedifallenorder.exe
Game File Version: 4.21.2.0 (which is the UE4 engine version)



Hi folks,

Finally gotten to post something about this game. Been at it for a bit, mainly in the sense of trying to devise a method that would allow me to port all the mapping I've done in x64dbg (function names, variables, etc. - UE4-related) across updates. Still at it, not happy with the methods I thought of or code required to build this shit up, but I'm getting there.

Attached is the dumper and console enabler (you might already have this shit via Otis_Inf's Universal Console Unlocker). Same drill:

1) Run the game and get to main menu.
2) Run 'IGCSInjector.exe'. You can close it when asked.
3) Takes 3-4 seconds for the DLL to find the stuff and StaticCreate the Console UObject and dump Names/Objects to disk in the Win64 folder (e.g.: D:\SteamLibrary\steamapps\common\Jedi Fallen Order\SwGame\Binaries\Win64)

StarWarsJediFallenOrder.zip
pass: sunbeam
(209.76 KiB) Downloaded 2548 times

Also an incipient table. Doesn't come with much but some helpers and some attempts of mine to restore fly/ghost/walk functionality. The script does work, though the CharacterComponent used for the Hero player is not linked to the default UE4 behavior (CharacterMovementTick function doesn't run by default, thus the collision and Z-movement won't happen). Make the most use of it, what can I say.. :)

starwarsjedifallenorder.CT
0.1
(14.88 KiB) Downloaded 1868 times

Other Info:

The version of the engine used to build this game is 4.21, what's also been used in The Outer Worlds:

Code: Select all

000000014D7B4378 | 09D8                   | OR EAX,EBX                          |
000000014D7B437A | 48:8B5C24 20           | MOV RBX,QWORD PTR SS:[RSP+20]       |
000000014D7B437F | 48:8935 6A39FBF5       | MOV QWORD PTR DS:[143767CF0],RSI    |
000000014D7B4386 | 8935 7039FBF5          | MOV DWORD PTR DS:[143767CFC],ESI    |
000000014D7B438C | C705 4A39FBF5 04001500 | MOV DWORD PTR DS:[143767CE0],150004 |
000000014D7B4396 | 66:8935 4739FBF5       | MOV WORD PTR DS:[143767CE4],SI      |
000000014D7B439D | 8905 4539FBF5          | MOV DWORD PTR DS:[143767CE8],EAX    |
000000014D7B43A3 | 893D 4F39FBF5          | MOV DWORD PTR DS:[143767CF8],EDI    |
Cheers,
Sun

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 8:59 am
by NongFahsai
Oh yeah, my body can't wait XD

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 9:59 am
by Otis_Inf
What's strange is that when you enable the console, 'toggledebugcamera' is switched off: "Command not recognized", but the flags are set to 0x20600, same as e.g. 'fov' which is accepted fine. It's not even read for 'toggledebugcamera'. Enablecheats 1 doesn't help, the code which checks if cheats are allowed (starwarsjedifallenorder.exe+1B8423C1) isn't even checked.
Pretty odd...

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 10:41 am
by kay0
Downloading the game as i write this! :D
I hope the game is good so rockstar can get their shit together with fixing RDR2 in the meantime. Knowing that Respawn are the devs behind this game makes me extremely optimistic!

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 11:42 am
by Zanzer
Player Pointer
- God Mode
- Current Health
- Maximum Health
Unlimited Force
Force Pointer
- Current Force
- Maximum Force
- Infinite Force

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 11:55 am
by jonasbeckman
Otis_Inf wrote:
Fri Nov 15, 2019 9:59 am
What's strange is that when you enable the console, 'toggledebugcamera' is switched off: "Command not recognized", but the flags are set to 0x20600, same as e.g. 'fov' which is accepted fine. It's not even read for 'toggledebugcamera'. Enablecheats 1 doesn't help, the code which checks if cheats are allowed (starwarsjedifallenorder.exe+1B8423C1) isn't even checked.
Pretty odd...
I guess the other modes of activation don't do anything either, maybe it's been altered elsewhere in the code.
[Link]

/**
* Camera controller that allows you to fly around a level mostly unrestricted by normal movement rules.
*
* To turn it on, please press Alt+C or both (left and right) analogs on XBox pad,
* or use the "ToggleDebugCamera" console command. Check the debug camera bindings
* in DefaultPawn.cpp for the camera controls.
*/
Could be anything though, interesting to see that at least the flag returns the value for it but the command itself doesn't though if it's possible to dump the cvars maybe the ones that do work turn up or other modes of activating debug camera functionality works although I expect it to be disabled as well.

Another one for the backlog though so I'll be picking it up later on probably whenever EA decides to do their thing and heavily discount the game in a few months or so but from what I'm hearing Respawn did a really good job although Titanfall 2 was also one of my favorite FPS titles so it's nice to see them being able to deliver another nice title even with other Star-Wars licensed works under EA hitting some snags. :)

EDIT: There's the cheat manager as well but I guess that's what ToggleCheats 1 would do for anything requiring or checking for that to be enabled which also doesn't seem to be the case here.
(Sides the default source here and examples aren't going to match specific games and how these were built and for which version and so on though it can be helpful on occasion.)


EnableDebugCamera and DisableDebugCamera might also be a alternative instead of Toggle.

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 12:57 pm
by Otis_Inf
The UE4 .h handler generates code to handle the functions in the cheatmanager.h file from a table. This table with function names is present in the game's memory, however the code parsing the input is so convoluted at times that I got lost along the way to see if it indeed uses that table or that it compares it to something else. The command processor simply concludes that the 'toggledebugcamera' (as well as slomo etc.) isn't valid, no handler recognizes it. What's also odd is that the function 'ToggleDebugCamera' in code isn't there. (this function basically calls either EnableDebugCamera() and DisableDebugCamera()). I compared AOBs from TOW with this one, and no dice. As if they stripped the complete default cheat manager. So I'm a bit at a loss why this is done :) I mean, there's no console by default, why go through this trouble :P

And no, the alternatives to open the debugcamera don't work ;) (EnableDebugCamera/DisableDebugCamera aren't commands btw)

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 1:59 pm
by SunBeam
^ That is explicitly why I say MAP THE FUCKING FUNCTION NAMES :) So you know where you are and what the code does. It's easy to map them out considering you have your own demo game compiled on your box :P Make use of that .pdb and aobs to get to the functions ;) It's enough to find a core one, the rest unfold like domino pieces (e.g.: ProcessEvent + internals).

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Fri Nov 15, 2019 2:53 pm
by sebastianyyz
Unreal engine, nice. I tought this game was going to use Frostbite. Thank you SunBeam

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 1:37 pm
by phonz
For anyone chomping at the bit,
this is something quick I made for player takes 0 damage and (hopefully) one-hit kills against enemies.
I only make one value cmp for each, but so far it's been working for me, but I've only played for ~4 hours.
Infinite HP and One-Hit Kills
[ENABLE]
aobscanmodule(Health,starwarsjedifallenorder.exe,F3 0F 11 8B BC 01 00 00) // should be unique
alloc(newmem,$1000,"starwarsjedifallenorder.exe"+EE0B8FD)

label(code)
label(return)
label(cleanup)

newmem:
pushf
cmp [rbx+178],5 //check if player
jne @f
movss xmm1,[rbx+1B8]
jmp cleanup
@@:
cmp [rbx+178],8 //check if enemy
jne cleanup
xorps xmm1,xmm1

cleanup:
popf

code:
movss [rbx+000001BC],xmm1
jmp return

Health:
jmp newmem
nop
nop
nop
return:
registersymbol(Health)

[DISABLE]

Health:
db F3 0F 11 8B BC 01 00 00

unregistersymbol(Health)
dealloc(newmem)

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 2:09 pm
by Deep Thought
phonz, how do I use that code you posted?

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 2:29 pm
by phonz
Deep Thought wrote:
Sat Nov 16, 2019 2:09 pm
phonz, how do I use that code you posted?
Just have to open up the auto assembler from the Memory View and paste it in there.
I've added the table to my previous post now as well.

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 9:15 pm
by amphetamemes
Is FOV editable using the console?

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 10:55 pm
by rapitrone
Skill points are one or all of these. It worked for me.

Re: Star Wars Jedi: Fallen Order [Engine:Unreal 4.21] - Console enabler, Dumper and more..

Posted: Sat Nov 16, 2019 11:03 pm
by Rhapthorne
rapitrone wrote:
Sat Nov 16, 2019 10:55 pm
Skill points are one or all of these. It worked for me.
THANKS!!