Very nice table Viv
i really like your long symbol names "inventory_aluminum_carbon_silicon_alien_alloy_collected"
played now about 1h, the health pointer sometimes didnt work, but i know its not you fault, and you provided enough backup pointer
so i looked to make a proper god script:
-dumped the objects
-find out what writes to the health address:
Code: Select all
JTTSP.exe+674409 - F3 0F11 BB 78020000 - movss [rbx+00000278],xmm7
RBX Address = DamageSystemComponent of the PlayerPawn
so i looked for the player pawn:
Code: Select all
[00301834] 0000018BA1EAE470 TowersAutonomousProxyDamageSystemComponent BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1.DamageSystemComponent
[00301835] 0000018B5EEEB840 TowersPayloadRecipientComponent BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1.PayloadComponent
[00301836] 0000018BAC85C040 SkeletalMeshComponent BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1.CharacterMesh0
[00301837] 0000018BA2FBD060 TowersCharacterMovement BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1.CharMoveComp
[00301838] 0000018BA5BC6D60 CapsuleComponent BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1.CollisionCylinder
[00301839] 0000018BB2D70100 BPPlayerPawn_C BiomePlanet_Persistent.BiomePlanet_Persistent.PersistentLevel.BPPlayerPawn_C_1
PlayerPawn is like i've expected near the DamageSystemComponent
[00301834] = PlayerPawn.DamageSystemComponent
[00301839] = PlayerPawn
breakpoint on PlayerPawn brought me here:
Code: Select all
JTTSP.exe+16AFFE2 - F6 83 81000000 20 - test byte ptr [rbx+00000081],20
breakpoint on PlayerPawn+81 while getting damage:
Code: Select all
JTTSP.exe+68680A - 80 B8 81000000 00 - cmp byte ptr [rax+00000081],00 { 0 }
thats the UE4 Pawn God Mode check
0x85 = Default
0x05 = God
hook at JTTSP.exe+16AFFE2
check for the player and write 0x05 to PlayerPawn+81:
Code: Select all
{$lua}
if syntaxcheck then return end
{$asm}
[ENABLE]
aobscanmodule(aobGod,JTTSP.exe,F6 83 81 00 00 00 20) // should be unique
alloc(newmem,$1000,"JTTSP.exe"+16AFFE2)
label(code)
label(return)
alloc(GodFlagAdd,8)
registersymbol(GodFlagAdd)
label(isGod)
newmem:
code:
cmp byte ptr[isGod],1
je @f
cmp r13,1
jne @f
cmp r15,2
jne @f
mov byte ptr[rbx+81],5
mov [GodFlagAdd],rbx
mov byte ptr[isGod],1
@@:
test byte ptr [rbx+00000081],20
jmp return
isGod:
db 0
aobGod:
jmp newmem
nop 2
return:
registersymbol(aobGod)
[DISABLE]
{$lua}
writeBytes(getAddressSafe('[GodFlagAdd]+81'),0x85)
{$asm}
aobGod:
db F6 83 81 00 00 00 20
unregistersymbol(aobGod)
dealloc(newmem)
thats it, a nice engine god mode
activate script and you wont get any damage / damage effects / bump effects
Note : Unreal does reset the God-Flag after:
-respawn
-position reset if player is below map
-player upgrade
you need to reactivate the script!
//
Ignore Player Script
enemys will ignore the player:
Code: Select all
[ENABLE]
aobscanmodule(aobInv,JTTSP.exe,F3 41 0F 11 44 24 48) // should be unique
alloc(newmem,$1000,"JTTSP.exe"+60C614)
label(code)
label(return)
newmem:
code:
xorps xmm0,xmm0
movss [r12+48],xmm0
jmp return
aobInv:
jmp newmem
nop 2
return:
registersymbol(aobInv)
[DISABLE]
aobInv:
db F3 41 0F 11 44 24 48
unregistersymbol(aobInv)
dealloc(newmem)
Your Jump Booster script causes to always show the Stamina bar
so i did this script for me to double jump regardless of the charges:
Code: Select all
[ENABLE]
aobscanmodule(aobJmp,JTTSP.exe,0F 2F 81 B4 11 00 00 0F 96 C0 C3) // should be unique
aobJmp+7:
db 90 90 90
registersymbol(aobJmp)
[DISABLE]
aobJmp+7:
db 0F 96 C0
unregistersymbol(aobJmp)