Page 4 of 45

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 5:13 pm
by Andrea97
hi, why everytime i check the cheats the game crash?

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 5:41 pm
by Crazy_Richie
Andrea97 wrote:
Mon Mar 04, 2024 5:13 pm
hi, why everytime i check the cheats the game crash?
known issue, OP is working on it.

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:04 pm
by isamudysan
2espec7 wrote:
Mon Mar 04, 2024 3:42 pm
Can you make this ammo script that will keep your ammo count at 1 (infinite) magazine? This can be increased by resupply but can also be decreased by reloading ammo. But the magazine wouldn't drop below 1 so that I could pretend like other players were low on ammo when resupplying.
dude. seriously?! you just asked the same damn question on the other thread and Kekner just replied to you about it. if you're afraid to be ratted on or discovered by other players, then don't cheat. if you're planning on cheating then play solo or play with friends that don't give a fk about you cheating. please stop asking this damn question.

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:07 pm
by SunBeam
emoisback wrote:
Mon Mar 04, 2024 4:44 pm
...
I always do it like this:

- the PE header of an executable has all the space you need to plant trampolines
- I investigate offset 0x500 into the PE header; it should have 00s there
- note that you won't use the PE header as a cave, but as 0x10 (16 bytes) spaces where you will write JMPs to your allocated caves
- yes, these JMPs will use 14 bytes if needed (out of 16 bytes)
- yes, the JMP from your code to hook to the trampoline in PE header will ALWAYS be 5 bytes long ;) -- so you don't need to account for 5-bytes or 14-bytes...
- why? because the PE header is situated before your address to hook in memory, therefore it will never exceed the 2/4GB length which triggers the 14-bytes JMPs
- you can then allocate memory, write your stuff and work it like this:

CodeToHook:
jmp PEHeader+500 // your HookedInstruction is here
nop X // pad with needed NOPs
^ JMP will always use 5 bytes (because it jumps back, inside game module, and not forward or randomly in high memory)

PEHeader+500:
jmp AllocatedCode // align 10 CC if you want to beautify the spot
^ JMP may use 5 bytes, but will use 14 bytes (at this point this JMP doesn't overwrite unneeded stuff at your CodeToHook, as it's in PEHeader :wink:)

AllocatedCode:
{ do stuff here }
jmp CodeToHook+sizeof(HookedInstruction) // equivalent of CE's "returnhere"

I also recommend you use direct referencing of variables, as the AllocatedCode can land wherever in memory (so distance between AllocatedCode and CodeToHook can be > 2 or 4GB). The reason I am mentioning this: "mov rax,[ptr]" will fail; however, "mov rax,ptr + mov rax,[rax]" won't fail ;)

Best regards,
Sun

P.S.: Yes, this won't work with Unity (Mono), as the code is dynamically allocated in memory and you don't have a static PE header somewhere to trampoline to.

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:29 pm
by emoisback
SunBeam wrote:
Mon Mar 04, 2024 6:07 pm
emoisback wrote:
Mon Mar 04, 2024 4:44 pm
...
I always do it like this:

- the PE header of an executable has all the space you need to plant trampolines
- I investigate offset 0x500 into the PE header; it should have 00s there
- note that you won't use the PE header as a cave, but as 0x10 (16 bytes) spaces where you will write JMPs to your allocated caves
- yes, these JMPs will use 14 bytes if needed (out of 16 bytes)
- yes, the JMP from your code to hook to the trampoline in PE header will ALWAYS be 5 bytes long ;) -- so you don't need to account for 5-bytes or 14-bytes...
- why? because the PE header is situated before your address to hook in memory, therefore it will never exceed the 2/4GB length which triggers the 14-bytes JMPs
- you can then allocate memory, write your stuff and work it like this:

CodeToHook:
jmp PEHeader+500 // align 10 CC so it pads the rest of the bytes with CCs (beautifier, if you will)

PEHeaer+500:
jmp AllocatedCode

AllocatedCode:
{ do stuff here }
jmp PEHeader+500+SizeOfInstruction

I also recommend you use direct referencing of variables, as the AllocatedCode can land wherever in memory (so distance between AllocatedCode and CodeToHook can be > 2 or 4GB). The reason I am mentioning this: "mov rax,[ptr]" will fail; however, "mov rax,ptr + mov rax,[rax]" won't fail ;)

Best regards,
Sun

P.S.: Yes, this won't work with Unity (Mono), as the code is dynamically allocated in memory and you don't have a static PE header somewhere to trampoline to.
Yeah its already fix,

Thanks for giving information.

i do some mistake..

First : i do AllocateMemory but instead 1000 i put 0x1000, then it return no memory allocated, then i just put it nullptr so they can find 0x1000 allocate memory space anywhere, now i change it to 0x100 because i dont need more than 256 bytes.

Second : Then the crash thing its because ScanPattern that i use is used for 32bit game before, then i forget to set return from 32bit ( DWORD ) to 64bit (uintptr_t), so game base module + offset is 180xx0000 and it return only 80xx0000 because i return it as a DWORD.

Thanks for your input.

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:41 pm
by Hipposaurus Rex
Crazy_Richie wrote:
Mon Mar 04, 2024 5:41 pm
Andrea97 wrote:
Mon Mar 04, 2024 5:13 pm
hi, why everytime i check the cheats the game crash?
known issue, OP is working on it.
If resolutions is found I would be happy to test.

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:45 pm
by SunBeam
emoisback wrote:
Mon Mar 04, 2024 6:29 pm
i do some mistake..

First : i do AllocateMemory but instead 1000 i put 0x1000, then it return no memory allocated, then i just put it nullptr so they can find 0x1000 allocate memory space anywhere, now i change it to 0x100 because i dont need more than 256 bytes.

Second : Then the crash thing its because ScanPattern that i use is used for 32bit game before, then i forget to set return from 32bit ( DWORD ) to 64bit (uintptr_t), so game base module + offset is 180xx0000 and it return only 80xx0000 because i return it as a DWORD.

Thanks for your input.
Trust me, been here as well in the past :) But yeah, you learn and evolve ;) Keep it up!

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:48 pm
by AcidityVibes
is the updated version on github or posted here somewhere?

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 6:49 pm
by emoisback
already update first post for update Fix Crash and Fix Resources from gir489

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 7:18 pm
by dori
Image
Is this normal?
2 tabs opened then i lauched the game

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 7:22 pm
by emoisback
dori wrote:
Mon Mar 04, 2024 7:18 pm
Image
Is this normal?
2 tabs opened then i lauched the game
empty one is useless you can close it..

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 9:29 pm
by Andrea97
Is it possible to have a cheat to have infinite medals?

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 9:31 pm
by alexwithtoast
Does this let me grind out xp and medals?

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Mon Mar 04, 2024 10:39 pm
by josekbr
maybe is my end, but i was playing on helldive mode without this with my group, wanted to test the "mod/cheat" in solo mode/helldive and now every single titan is in god mode, they just don't die lol


anyway thanks for this, regardless of that little problem, i just ran and finished the mission anyway without worrying in the clock ticking

Re: Helldivers 2 Hack ( DLL Proxy - Proof Of Concept )

Posted: Tue Mar 05, 2024 1:12 am
by blargle7324186
Just confirming for anyone curious, everything works, but I didn't try mission timer or samples.