HELLDIVERS 2

Upload your cheat tables here (No requests)
HustleSF
Noobzor
Noobzor
Posts: 5
Joined: Sat Mar 02, 2024 6:19 pm
Reputation: 0

Re: HELLDIVERS 2

Post by HustleSF »

Dekutheguy wrote:
Mon Apr 29, 2024 11:47 pm
Someone on UC posted a method for infinite medals, xp, req slips, and samples. confirmed working
Have you gotten it to work? I just get an error 422 with ""The message signature is missing or invalid"

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

Dekutheguy
Cheater
Cheater
Posts: 41
Joined: Thu Feb 29, 2024 10:44 pm
Reputation: 18

Re: HELLDIVERS 2

Post by Dekutheguy »

HustleSF wrote:
Tue Apr 30, 2024 12:45 am
Dekutheguy wrote:
Mon Apr 29, 2024 11:47 pm
Someone on UC posted a method for infinite medals, xp, req slips, and samples. confirmed working
Have you gotten it to work? I just get an error 422 with ""The message signature is missing or invalid"
Image

Only seems to work with end of match items. Spamming a request for Super credits you get mid game doesnt work. Gonna try getting some SC and then spamming mission end, but when I did that with mission failed it didnt work so I doubt itll work this way.

HustleSF
Noobzor
Noobzor
Posts: 5
Joined: Sat Mar 02, 2024 6:19 pm
Reputation: 0

Re: HELLDIVERS 2

Post by HustleSF »

Dekutheguy wrote:
Tue Apr 30, 2024 12:51 am
HustleSF wrote:
Tue Apr 30, 2024 12:45 am
Dekutheguy wrote:
Mon Apr 29, 2024 11:47 pm
Someone on UC posted a method for infinite medals, xp, req slips, and samples. confirmed working
Have you gotten it to work? I just get an error 422 with ""The message signature is missing or invalid"
Image

Only seems to work with end of match items. Spamming a request for Super credits you get mid game doesnt work. Gonna try getting some SC and then spamming mission end, but when I did that with mission failed it didnt work so I doubt itll work this way.
Any help with this signature error? Would be much appreciated, DM's are open if you don't want to post publicly.

Andrewjamesleisure
What is cheating?
What is cheating?
Posts: 2
Joined: Mon Sep 03, 2018 2:12 am
Reputation: 0

Re: HELLDIVERS 2

Post by Andrewjamesleisure »

.
Last edited by Andrewjamesleisure on Tue Apr 30, 2024 6:51 am, edited 1 time in total.

Dekutheguy
Cheater
Cheater
Posts: 41
Joined: Thu Feb 29, 2024 10:44 pm
Reputation: 18

Re: HELLDIVERS 2

Post by Dekutheguy »

Andrewjamesleisure wrote:
Tue Apr 30, 2024 2:53 am
I keep getting HTTP/1.1 405 Method Not Allowed when I try this with the mission/end call

Code: Select all

PUT https://api.live.prod.thehelldiversgame.com/api/Operation/Mission/end HTTP/1.0
Authorization: session REMOVED
Content-Type: application/json
Accept: application/json
X-Signature: REMOVED
Key_ID: REMOVED
Accept-Language: en-US
Content-Length: 963

{REMOVED}
All personally identifying info has been replaced with REMOVED, but is otherwise identical to the request I tried to send with Fiddler.

Also, the instructions given by the UC thread OP incorrectly state that we should use
"frida -n helldivers2.exe -l hd2.dev"
when we actually need to use
"frida -n helldivers2.exe -l hd2.js"
replace PUT with POST
then try again

elamigopaisa
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Feb 02, 2024 5:49 pm
Reputation: 1

Re: HELLDIVERS 2

Post by elamigopaisa »

gir489 wrote:
Mon Apr 29, 2024 6:48 pm
drehcaruso wrote:
Mon Apr 29, 2024 6:19 pm
edit2: yep everything seem to be working fine! now I'll just wait for a blessed soul to give us a new code for infinite jumppacks and quasars/sickles, and everything seems to be 100% again
Infinite Jetpack:

Code: Select all

// Game Executable   : helldivers2.exe
// Author            : gir489
// Executable Version: 1.8.18735.0
// MD5 Signature     : E087C5451277E6CC21E544AB6FE4932B
// EXE Compile Date  : April 25, 2024 04:05 AM
// Script Date       : April 29, 2024 02:45 PM
[ENABLE]
aobscanmodule(aob_ToTheSky,game.dll,89 04 B9 83 FD 01)
registersymbol(aob_ToTheSky)

aob_ToTheSky:
  nop 3

[DISABLE]
aob_ToTheSky:
  db 89 04 B9

unregistersymbol(aob_ToTheSky)

{
// ORIGINAL CODE - INJECTION POINT: game.dll+5FEBB5

game.dll+5FEB79: 41 8B 04 C8           - mov eax,[r8+rcx*8]
game.dll+5FEB7D: 41 3B C3              - cmp eax,r11d
game.dll+5FEB80: 74 10                 - je game.dll+5FEB92
game.dll+5FEB82: 3B C3                 - cmp eax,ebx
game.dll+5FEB84: 74 10                 - je game.dll+5FEB96
game.dll+5FEB86: FF C2                 - inc edx
game.dll+5FEB88: 41 3B D1              - cmp edx,r9d
game.dll+5FEB8B: 72 E3                 - jb game.dll+5FEB70
game.dll+5FEB8D: E9 81 00 00 00        - jmp game.dll+5FEC13
game.dll+5FEB92: 3B C3                 - cmp eax,ebx
game.dll+5FEB94: 75 7D                 - jne game.dll+5FEC13
game.dll+5FEB96: 41 8B 44 C8 04        - mov eax,[r8+rcx*8+04]
game.dll+5FEB9B: 83 F8 FF              - cmp eax,-01
game.dll+5FEB9E: 74 73                 - je game.dll+5FEC13
game.dll+5FEBA0: 48 8B 4E 38           - mov rcx,[rsi+38]
game.dll+5FEBA4: 8B F8                 - mov edi,eax
game.dll+5FEBA6: 48 8B 0C C1           - mov rcx,[rcx+rax*8]
game.dll+5FEBAA: E8 41 F7 DE FF        - call game.dll+3EE2F0
aob_ToTheSky: 48 8B 4E 48           - mov rcx,[rsi+48]
game.dll+5FEBB3: 8B 00                 - mov eax,[rax]
// ---------- INJECTING HERE ----------
game.dll+5FEBB5: 89 04 B9              - mov [rcx+rdi*4],eax
// ---------- DONE INJECTING  ----------
game.dll+5FEBB8: 83 FD 01              - cmp ebp,01
game.dll+5FEBBB: 75 56                 - jne game.dll+5FEC13
game.dll+5FEBBD: 8B CB                 - mov ecx,ebx
game.dll+5FEBBF: 89 6C 24 30           - mov [rsp+30],ebp
game.dll+5FEBC3: E8 C8 DA 47 00        - call game.dll+A7C690
game.dll+5FEBC8: 48 8B 15 69 63 34 01  - mov rdx,[game.dll+1944F38]
game.dll+5FEBCF: 4C 8D 4C 24 40        - lea r9,[rsp+40]
game.dll+5FEBD4: 48 89 44 24 38        - mov [rsp+38],rax
game.dll+5FEBD9: 0F 28 44 24 30        - movaps xmm0,[rsp+30]
game.dll+5FEBDE: 48 8B 05 03 9D 2A 01  - mov rax,[game.dll+18A88E8]
game.dll+5FEBE5: 66 0F 7F 44 24 40     - movdqa [rsp+40],xmm0
game.dll+5FEBEB: 8B 8A B0 5C 01 00     - mov ecx,[rdx+00015CB0]
game.dll+5FEBF1: 85 C9                 - test ecx,ecx
game.dll+5FEBF3: 89 6C 24 20           - mov [rsp+20],ebp
game.dll+5FEBF7: 4C 8B 50 38           - mov r10,[rax+38]
game.dll+5FEBFB: 44 8D 41 FF           - lea r8d,[rcx-01]
game.dll+5FEBFF: B9 56 E8 EF 30        - mov ecx,30EFE856
game.dll+5FEC04: 45 0F 44 C6           - cmove r8d,r14d
game.dll+5FEC08: 48 81 C2 C0 5C 01 00  - add rdx,00015CC0
game.dll+5FEC0F: 41 FF 52 40           - call qword ptr [r10+40]
}
any working instant railgun?

T420killz
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Mar 29, 2024 5:00 am
Reputation: 0

Re: HELLDIVERS 2

Post by T420killz »

Dekutheguy wrote:
Tue Apr 30, 2024 3:25 am
Andrewjamesleisure wrote:
Tue Apr 30, 2024 2:53 am
I keep getting HTTP/1.1 405 Method Not Allowed when I try this with the mission/end call

Code: Select all

PUT https://api.live.prod.thehelldiversgame.com/api/Operation/Mission/end HTTP/1.0
Authorization: session REMOVED
Content-Type: application/json
Accept: application/json
X-Signature: REMOVED
Key_ID: REMOVED
Accept-Language: en-US
Content-Length: 963

{REMOVED}
All personally identifying info has been replaced with REMOVED, but is otherwise identical to the request I tried to send with Fiddler.

Also, the instructions given by the UC thread OP incorrectly state that we should use
"frida -n helldivers2.exe -l hd2.dev"
when we actually need to use
"frida -n helldivers2.exe -l hd2.js"
replace PUT with POST
then try again

hi, not working for me . i tried your solution but didnt work.

PUT [Link] HTTP/1.1
Authorization: session
Content-Type: application/json
Accept: application/json
X-Signature: info
Key_ID: info
Accept-Language: en-US
Content-Length: 954
{ info}

is what im putting, i also tried post as well any help would be appreciated

nos4r2
Expert Cheater
Expert Cheater
Posts: 237
Joined: Sun Oct 29, 2017 3:58 am
Reputation: 45

Re: HELLDIVERS 2

Post by nos4r2 »

I really miss the dmg multipler & reduction script from ZoDDel's table making solo much more fun, hope it get updated soon. :cry:

HustleSF
Noobzor
Noobzor
Posts: 5
Joined: Sat Mar 02, 2024 6:19 pm
Reputation: 0

Re: HELLDIVERS 2

Post by HustleSF »

Dekutheguy wrote:
Tue Apr 30, 2024 12:51 am
HustleSF wrote:
Tue Apr 30, 2024 12:45 am
Dekutheguy wrote:
Mon Apr 29, 2024 11:47 pm
Someone on UC posted a method for infinite medals, xp, req slips, and samples. confirmed working
Have you gotten it to work? I just get an error 422 with ""The message signature is missing or invalid"
Image

Only seems to work with end of match items. Spamming a request for Super credits you get mid game doesnt work. Gonna try getting some SC and then spamming mission end, but when I did that with mission failed it didnt work so I doubt itll work this way.
Seems like there are some people able to do SC, they are selling 6000 direct to account for $40 :shock:

Dekutheguy
Cheater
Cheater
Posts: 41
Joined: Thu Feb 29, 2024 10:44 pm
Reputation: 18

Re: HELLDIVERS 2

Post by Dekutheguy »

HustleSF wrote:
Tue Apr 30, 2024 3:56 am
Dekutheguy wrote:
Tue Apr 30, 2024 12:51 am
HustleSF wrote:
Tue Apr 30, 2024 12:45 am


Have you gotten it to work? I just get an error 422 with ""The message signature is missing or invalid"
Image

Only seems to work with end of match items. Spamming a request for Super credits you get mid game doesnt work. Gonna try getting some SC and then spamming mission end, but when I did that with mission failed it didnt work so I doubt itll work this way.
Seems like there are some people able to do SC, they are selling 6000 direct to account for $40 :shock:
I suppose if you sent the entire request line of doing a mission, setting your max rewards, and then collecting the SC, it could possibly work? Either that or they're actually purchasing SC and then using THAt request line to do it but Id imagine that wouldnt work.

UC thread was taken down. Best to keep the method on the DL I guess. Spent an hour fiddling around with ways to get free sc but nothing I did made a difference. Maybe spam warbond purchases could do something but I already bought all my SC off the warbonds so there's nothing for me to try.

If anyone makes any progress shoot me a dm and we could start a lucrative business lolol

elamigopaisa
Novice Cheater
Novice Cheater
Posts: 19
Joined: Fri Feb 02, 2024 5:49 pm
Reputation: 1

Re: HELLDIVERS 2

Post by elamigopaisa »

nos4r2 wrote:
Tue Apr 30, 2024 3:35 am
I really miss the dmg multipler & reduction script from ZoDDel's table making solo much more fun, hope it get updated soon. :cry:
just need the new weapon ids

Exemplify1524
Novice Cheater
Novice Cheater
Posts: 22
Joined: Tue Apr 30, 2024 8:37 am
Reputation: 14

Re: HELLDIVERS 2

Post by Exemplify1524 »

elamigopaisa wrote:
Tue Apr 30, 2024 6:25 am
nos4r2 wrote:
Tue Apr 30, 2024 3:35 am
I really miss the dmg multipler & reduction script from ZoDDel's table making solo much more fun, hope it get updated soon. :cry:
just need the new weapon ids
I think problem is not only in the weapons id. Because I modified ZoDDel's script to actually show all damage IDs happens in game to DebugView using OutputDebugStringA function.
And it is not working after update.
So the problem is the main injection point for aobscanmodule changed from "66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB" to somethink else.

If this bytes not found, it means they changed weapon damage code. Who can find new?
Then with OutputDebugStringA we can help find any new IDs... this is routine task.

Need smart guy who will do the main job and find new damage calculation commands to inject.



And here is modified by me ZoDDels damage multiply code that show all damage ids happens on map. For previous update. Not working now.

Code: Select all

[ENABLE]
aobscanmodule(damage_inject,game.dll,66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB)
alloc(damage_newmem,$2000)
label(damage_return)

label(damage_change)
label(damage_and_penetration_change)
label(damage_no_change)

alloc(damage_ratio,4)
registersymbol(damage_ratio)

damage_newmem:
// cmp DWORD PTR [RCX], 0
// je damage_no_change
push rbx //save rbx as it's going to be changed

{$ccode base_address=rcx jmpaddress=rbx}
extern __cdecl int sprintf(char *, char *, ...);
extern __cdecl void OutputDebugStringA(const char* lpOutputString);

extern float damage_ratio;
extern void damage_change();
extern void damage_and_penetration_change();
extern void damage_no_change();
char debug_string[200];
char* weapon_name;
char weapon_name_list[400] = "";
float d_ratio_float;
int d_ratio_int;

typedef struct {
       int id;
       char* name;
       int damage;
} Weapon;

int *weapon_id=(int*)(base_address);
int *weapon_dmg=(int*)(base_address+0x04);
int *weapon_admg=(int*)(base_address+0x08);
int *weapon_pen1=(int*)(base_address+0x0C);
int *weapon_pen2=(int*)(base_address+0x10);
int *weapon_pen3=(int*)(base_address+0x14);
int *weapon_pen4=(int*)(base_address+0x18);

Weapon weapons[107] = {
  {5, "Automaton damage"},
  {6, "Automaton distance damage (some2) / Automaton Gunship rocket blast"},
  {7, "Automaton hand blaster / Unknown event on automaton map"},
  {9, "FLAM-40 Flamethrower part 1"},
  {10, "GL-21 Grenade launcher part 1 / Mortar Sentry shell"},
  {11, "EMS Mortar Sentry / Grenade Launcher / Mortar Sentry 1"},
  {18, "PLAS-1 Scorcher (old) / SG-8P Punisher Plasma (old)"},
  {19, "LAS-16 Sickle"},
  {20, "PLAS-1 Scorcher / SG-8P Punisher Plasma"},
  {20, "PLAS-1 Scorcher / SG-8P Punisher Plasma"},
  {21, "RS-422 Railgun"},
  {24, "P-19 Redeemer / P-2 Peacemaker"},
  {25, "MP-98 Knight"},
  {33, "SG-8S / SMG-37 Defender"},
  {38, "Laser Cannon"},
  {41, "P-4 Senator"},
  {43, "AR-23P Liberator Penetrator need fix"},
  {45, "AR-23C Liberator Concussive need fix / AR-23P Liberator Penetrator"},
  {47, "AR-23C Liberator Concussive"},
  {48, "AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},
  {62, "AR-20L Justice / BR-14 Adjudicator / Gatling/Machine Gun Sentry / Machine Gun"},
  {69, "R-63 Diligence"},
  {70, "R-63CS Diligence Counter Sniper"},
  {76, "R-36 Eruptor"},
  {80, "JAR-5 Dominator"},
  {84, "SG-8 Punisher"},
  {89, "Break action shotgun"},
  {95, "SG-8S Slugger"},
  {97, "SG-225SP Breaker Spray&Pray"},
  {98, "SG-225 Breaker"},
  {99, "SG-225BB Breaker Bugbiter"},
  {100, "SG-225NS Breaker Nailspitter"},
  {101, "SG-255IE Breaker Incendiary"},
  {107, "G-6 Frag part 2"},
  {111, "ARC3 Thrower"},
  {113, "ARC-12 Blitzer"},
  {115, "Automaton Gunship blaster / Automaton Hulk Scorcher right hand blaster"},
  {117, "Heavy Machinegun"},
  {118, "Antimaterial Rifle"},
  {120, "CB-9 Exploding Crossbow"},
  {122, "Tesla Tower"},
  {123, "Autocannon (part 1/2)"},
  {125, "EXO-45 Emancipator gun part 1"},
  {126, "Autocannon Sentry / Pelican part 1"},
  {130, "GP-31 Grenade Pistol"},
  {131, "EAT-17 part 1"},
  {132, "Recoiless Rifle part 1"},
  {138, "Eagle airstrike part 1"},
  {141, "Commando"},
  {143, "EXO-45 Emancipator rocket part 1"},
  {145, "Javelin rocket part 1"},
  {148, "Eagle 110mm rocket pods part 1"},
  {150, "500kg bomb1"},
  {155, "Orbital 120MM HE barrage1"},
  {156, "Orbital precision strike1"},
  {157, "Orbital railcannon strike1"},
  {163, "G-23 Stun (old)"},
  {165, "G-23 Stun"},
  {184, "EAT-17 part 2"},
  {191, "Barrel explosion"},
  {194, "G-6 Frag (old?)"},
  {195, "G-10 Incendiary (old)"},
  {196, "G-123 Thermite (old?) / G-6 Frag part 1"},
  {197, "G-10 Incendiary"},
  {198, "G-10 Incendiary"},
  {199, "G-123 Thermite"},
  {205, "G-12 High Explosive (old?) / G-16 Impact (old?)"},
  {207, "G-16 Impact / Quasar Cannon impact?"},
  {208, "G-12 High Explosive / G-16 Impact"},
  {209, "G-12 High Explosive"},
  {211, "Autocannon (part 2/2)"},
  {212, "EXO-45 Emancipator gun part 2"},
  {214, "Pelican part 2"},
  {215, "GL-21 Grenade launcher part 2"},
  {218, "Mortar Sentry 2"},
  {220, "Recoiless Rifle part 2"},
  {221, "EAT-17 part 3"},
  {222, "Quasar Cannon part 1"},
  {223, "Quasar Cannon part 2"},
  {224, "Eagle clusterbomb"},
  {229, "EXO-45 Emancipator rocket part 2"},
  {231, "Javelin rocket part 2"},
  {236, "AntiPersonal MineField / Eagle 110mm rocket pods part 2"},
  {249, "Eagle airstrike part 2"},
  {252, "Automaton Gunship rocket / Automaton rocket / Automaton Rocket devastator (rocket launchers on shoulders)"},
  {253, "Helldiver pot damage"},
  {260, "Automaton grenade"},
  {261, "Orbital railcannon strike2"},
  {262, "Orbital precision strike2"},
  {263, "Orbital 120MM HE barrage2"},
  {268, "500kg bomb2"},
  {275, "Quasar Cannon part 3 (???)"},
  {282, "Fall damage"},
  {291, "LAS-7 Dagger"},
  {292, "LAS-5 Scythe"},
  {296, "LAS-98"},
  {299, "Orbital laser"},
  {303, "FLAM-40 Flamethrower part 2 / Flame barrel / Flame tornado"},
  {318, "Automaton distance damage (some1) / Hulk Scorcher (Gromila) Self flame?"},
  {320, "Helldiver melee"},
  {331, "Big smoke? On automaton map"},
  {347, "Automaton Maradeur melee / Automaton Rocket rider melee"},
  {347, "Automaton Maradeur melee / Automaton Rocket rider melee"},
  {348, "Automaton Commissar (red shoulders) melee"},
  {350, "Automaton Hulk Scorcher melee"},
  {354, "Automaton Berserker melee"},
  {355, "Unknown event on automaton map"}
};

weapon_name = "";
// strcpy(weapon_name_list, "");
for (int i = 0; i < sizeof(weapons) / sizeof(weapons[0]); ++i) {
    if (*weapon_id == weapons[i].id) {
       weapon_name = weapons[i].name;
       //strcat(weapon_name_list, " / ");
       //strcat(weapon_name_list, weapons[i].name);
       //sprintf(debug_string, "HD2. ID %d is for %s", *weapon_id, weapon_name);
       //OutputDebugStringA(debug_string);
       break;
    }
}

jmpaddress = damage_and_penetration_change;
switch (*weapon_id) {
  case 62: // "AR-20L Justice / BR-14 Adjudicator / Gatling/Machine Gun Sentry / Machine Gun"
    damage_ratio = 4.0f; break;
  case 69: // "R-63 Diligence"
  case 70: // "R-63CS Diligence Counter Sniper"
    damage_ratio = 10.0f; break;
  case 21: // RS-422 Railgun
    damage_ratio = 10.0f; break;
  case 33: // SG-8S / SMG-37 Defender
    damage_ratio = 10.0f; break;
  case 291: // LAS-7 Dagger
  case 292: // LAS-5 Scythe
  case 296: // LAS-98
  case 24: // P-19 Redeemer / P-2 Peacemaker
    damage_ratio = 5.0f; break;
  case 10: // GL-21 Grenade launcher part 1 / Mortar Sentry shell
  case 215: // GL-21 Grenade launcher part 2
  case 38: // Laser Cannon
  case 48: // AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart
  case 222: // Quasar Cannon part 1
  case 223: // Quasar Cannon part 2
    damage_ratio = 150.0f;
    break;
  case 0:
    jmpaddress=damage_no_change;
    break;
  default:
    damage_ratio = 0.2f;
    jmpaddress=damage_change;
}

if (*weapon_id != 0) {
   // base_address:%#9p    base_address,

   //d_ratio_int = (int)damage_ratio;
   // d_ratio_float = (float)damage_ratio;

      sprintf(debug_string, "HD2 %3d | DMG %3d %3d | PEN %3d %3d %3d %3d | %s", *weapon_id, *weapon_dmg, *weapon_admg, *weapon_pen1, *weapon_pen2, *weapon_pen3, *weapon_pen4, weapon_name);
      OutputDebugStringA(debug_string);

}


{$asm}
jmp rbx

damage_and_penetration_change:
  pop rbx // restore rbx

  mov [rcx+0C],#7777 // penetration 1
  mov [rcx+10],#7777 // penetration 2
  mov [rcx+14],#7777 // penetration 3
  mov [rcx+18],#7777 // penetration 4

  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  mulss xmm3, dword ptr [damage_ratio]
  mulss xmm1, dword ptr [damage_ratio]
  jmp damage_return

damage_change:
  pop rbx // restore rbx
  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  mulss xmm3, dword ptr [damage_ratio]
  mulss xmm1, dword ptr [damage_ratio]
  jmp damage_return

damage_no_change:
  pop rbx // restore rbx
  // No change to other weapon_ids
  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  jmp damage_return

damage_inject:
  jmp far damage_newmem
  nop 2

damage_return:

// ------------------------------------------------------
[DISABLE]
Last edited by Exemplify1524 on Tue Apr 30, 2024 8:57 am, edited 1 time in total.

Exemplify1524
Novice Cheater
Novice Cheater
Posts: 22
Joined: Tue Apr 30, 2024 8:37 am
Reputation: 14

Re: HELLDIVERS 2

Post by Exemplify1524 »

Also I found the way to autoattach to hellivers2, then wait till game.dll module will load. Inject all needed scripts, and exit.
On first lines you need to specify your own cheat codes description names to inject. And Path to helldivers2 bin folder. So you only need to run .ct CT will autolaunch Helldivers2, wait game.dll, apply cheats and close

Paste code and edit gamePath to yours and scriptsToActivate to yours in Table -> Show Cheat Table Lua Script

Code: Select all

local processName = "helldivers2.exe"
local moduleName = "game.dll"
local gamePath = "C:/Program Files (x86)/Steam/steamapps/common/Helldivers 2/bin/"

local scriptsToActivate = {
	'My weapon ccode v5',
	'No Recoil + No Sway *',
  	'Temp Unlock Armor, Weapons, Strategems *',
}

local mainForm = getMainForm()
local module_timer = createTimer(mainForm, false)


function RunScript(scriptName)
  mr =  AddressList.getMemoryRecordByDescription(scriptName)
  if mr == nil then
    print("Script " .. scriptName .. " not found")
    return false
  end
  mr.Active = true
  print("Activated: " .. mr.Description)
end

function RunScripts()
  for scriptIdx, scriptDescription in ipairs(scriptsToActivate) do
      RunScript(scriptDescription)
  end

  if messageDialog("Закрыть CE?",mtConfirmation, mbYes, mbNo) == mrYes then
    print("Closing CE")
    closeCE()
  end
end

function OnModuleLoaded()
  MainForm.OnProcessOpened = nil
  -- saveTable("hd2.ct")
  -- OpenProcess("notepad.exe")
  OpenProcess(processName)
  -- loadTable("hd2.ct")

  module_address = getAddress(moduleName)
  module_size = getModuleSize(moduleName)
  print(moduleName .. " address is " .. module_address .. " size " .. module_size)
  if module_address > 0 and module_size > 0 then
    RunScripts()
  else
    print(moduleName " address or size is zero. Module not loaded completely, or something goes wrong")
    module_timer.Enabled = true
  end
end

function IsModuleLoaded()
  for module_idx, module_table in ipairs(enumModules()) do
    -- print("module index " .. module_idx .. " module Name " .. module_table["Name"])
    if module_table["Name"] == moduleName then
      module_timer.Enabled = false
      print(processName .. " module " .. moduleName .. " is loaded")
      OnModuleLoaded()
      return true
    end
  end
  return false
end

function WaitForModule()
  print(processName .. " waiting module " .. moduleName)
  module_timer.Interval = 1000
  module_timer.OnTimer = IsModuleLoaded
  module_timer.Enabled = true
  return
end

local function OnProcessOpened(processId, processHandle, caption)
  local extractedProcessName = string.match(caption, "^[^-]+-(.+)") -- извлекаем имя процесса
  print("Attached to process ", extractedProcessName)
  if extractedProcessName == processName then
    WaitForModule()
  end
end
MainForm.OnProcessOpened = OnProcessOpened



function cycleFullCompact( sender, force )
  local state = not( compactmenuitem.Caption == 'Compact View Mode' )
  if force ~= nil then
    state = not force
  end
  compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'
  getMainForm().Splitter1.Visible = state
  getMainForm().Panel4.Visible = state
  getMainForm().Panel5.Visible = state
end

function addCompactMenu()
  if compactmenualreadyexists then return end
    local parent = getMainForm().Menu.Items
    compactmenuitem = createMenuItem( parent )
    parent.add( compactmenuitem )
    compactmenuitem.Caption = 'Compact View Mode'
    compactmenuitem.OnClick = cycleFullCompact
    compactmenualreadyexists = 'yes'
end


function main()
  addCompactMenu()
  cycleFullCompact( nil, true )
  -- getMemoryViewForm().Visible = true

  getAutoAttachList().clear()
  getAutoAttachList().add(processName)
  print("Wait till attach to " .. processName .. ". Auto attach list is: " .. getAutoAttachList().getText())
  if messageDialog("Запустить Helldivers 2?",mtConfirmation, mbYes, mbNo) == mrYes then
    print("Launching " .. gamePath .. "/" .. processName)
--    shellExecute("cmd.exe /c start /D\"" .. gamePath .. "\" " .. processName)
    shellExecute(gamePath .. "/" .. processName)
  end
end

if not syntaxcheck then
  print("Starting script")
  main()
end

User avatar
ZoDDeL
Table Makers
Table Makers
Posts: 125
Joined: Mon May 08, 2017 9:37 am
Reputation: 277

Re: HELLDIVERS 2

Post by ZoDDeL »

just wanna let you guys know that iam working to fix all my scripts right now.

these already working again.
Image

might upload the new table later this day but maybe without everything fixed (its a bunch that got broke by update).
so current table doesnt work (aio stuff) aside from some single scripts like the speedhack.

i will add some scripts from gir489 like no recoil/sway because i have no idea how to find these values.
currently having a struggle with energy shield (seems like they massively reduce the cooldown what makes the search difficult)
also did not look into damage multi but if they changes the weapon ID's again you will only get a few basic ID's for the beginning because it takes time to drop over and over on a planet just to check one weapon.

anyways be patient a bit longer :D


p.p.s
got a fresh donation this morning so i guess i have to keep update this table a bit longer.
Last edited by ZoDDeL on Tue Apr 30, 2024 10:01 am, edited 1 time in total.

Exemplify1524
Novice Cheater
Novice Cheater
Posts: 22
Joined: Tue Apr 30, 2024 8:37 am
Reputation: 14

Re: HELLDIVERS 2

Post by Exemplify1524 »

ZoDDeL wrote:
Tue Apr 30, 2024 9:02 am
also did not look into damage multi but if they changes the weapon ID's again you will only get a few basic ID's for the beginning because it takes time to drop over and over on a planet just to check one weapon.
We need only new string for aobscanmodule to be able to print [RCX+0] damage IDs to DebugView. Maybe we will create some table in google spreadsheets to get all needed IDs by whole community.

Can you please share how you can debug and find all these values for aobscanmodule if CE gets detected while opened.
Maybe you freeze the game right after it starts and loads game.dll and look in memory view all you need?
But it means that youre not able to actually make breakpoints and reverse code in realtime right?
Or maybe you suspend process and make full memory snapshot and analyze in IDA or some more powerful offline reversing tools?

Or you have some know hows that allows you to analyze working code without suspending it?

Post Reply

Who is online

Users browsing this forum: Anti_uwo, BBK, DotBot, Google Adsense [Bot], jonaaa, Kingromi, michu101, nillmand2, Shotgunace, Sora3100