For this you will need to install Fiddler, Python and a python script called Frida. Frida is a tool that will allow you to intercept the API requests of the libcurl.dll
Open notepad, copy this code and paste it in to notepad. Save as a .js file extension, like this "hd2.js"
Code:
// Define ANSI escape codes for colors
const colors = {
reset: "\x1b[0m",
red: "\x1b[31m",
yellow: "\x1b[33m"
};
Interceptor.attach(Module.findExportByName('libcurl.dll', 'curl_easy_setopt'), {
onEnter: function (args) {
this.option = args[1].toInt32();
switch (this.option) {
case 10036: // CURLOPT_CUSTOMREQUEST
var customMethod = Memory.readUtf8String(args[2]);
console.log(colors.yellow + `${customMethod}` + colors.reset);
console.log(Array(1).join("-")); // Line of hyphens as a visual separator
break;
case 10002: // CURLOPT_URL
this.url = Memory.readUtf8String(args[2]);
console.log(colors.red + `${this.url}` + colors.reset); // Apply red color to URL
break;
case 10023: // CURLOPT_HTTPHEADER
var slistPointer = ptr(args[2]);
var headers = [];
while (!slistPointer.isNull()) {
var headerStringPointer = Memory.readPointer(slistPointer);
if (!headerStringPointer.isNull()) {
var headerString = Memory.readUtf8String(headerStringPointer);
headers.push(headerString);
}
slistPointer = Memory.readPointer(slistPointer.add(Process.pointerSize));
if (slistPointer.isNull()) {
break;
}
}
if (headers.length > 0) {
console.log(headers.join("\n"));
}
break;
case 10015: // CURLOPT_POSTFIELDS
var postData = Memory.readUtf8String(args[2]);
console.log(`${postData}`);
console.log(Array(1).join("-")); // Line of hyphens as a visual separator
break;
// Add more options here if necessary
}
},
onLeave: function (retval) {
}
});
Interceptor.attach(Module.findExportByName('libcurl.dll', 'curl_easy_perform'), {
onEnter: function (args) {
console.log("[+] Intercepting curl_easy_perform");
// Here you can modify the request before sending if needed
},
onLeave: function (retval) {
}
});
Once you have successfully installed Python + Frida and have added it to your environment variables, open a command prompt and navigate to the directory of the saved code, where hd2.js resides.
Start your Helldivers 2 video game and run this command in your command prompt,
"frida -n helldivers2.exe -l hd2.js"
To gain max level, samples, medals and requisitions you will need to complete one mission while Frida is attached to the game. Once you complete the mission you will see a request in the console show as,
"
https://api.live.prod.thehelldiversgame.com/api/Operation/Mission/end"
You will copy all the headers and contents of the request like this,
Code:
POST https://api.live.prod.thehelldiversgame.com/api/Operation/Mission/end HTTP/1.1
Authorization: session
Content-Type: application/json
Accept: application/json
X-Signature:
Key_ID:
Accept-Language: en-US
Content-Length: 1052
{your request contents}
Now open Fiddler and go to composer, then raw. Paste your request as such and execute. Make sure to add the option "POST" before the url and "HTTP/1.1" after the url as in the example. If everything has been copied correctly into Fiddler you should see that the request went through. It will have a response of a few thousand characters, mainly it is explaining the XP earned from the request you sent in. On the left side of Fiddler, where the requests are at, click the one that went through and press R. This will resend it. You will do this as many times as you want until you get your desired medals, requisitions, level and samples. I suggest looking at this XP chart
Code:
[1 XP:1] [2 XP:100] [3 XP:350] [4 XP:850] [5 XP:1600] [6 XP:2600] [7 XP:3600] [8 XP:4600] [9 XP:5850] [10] XP:7100] [11 XP:8400] [12 XP:9900] [13 XP:11400] [14 XP:12900] [15 XP:14400] [16 XP:15900] [17 XP:17900] [18 XP:19900] [19 XP:21900] [20] XP:23900] [21 XP:25900] [22 XP:28400] [23 XP:30900] [24 XP:33400] [25 XP:35900] [26 XP:38400] [27 XP:41400] [28 XP:44400] [29 XP:47400] [30] XP:50400] [31 XP:53400] [32 XP:56900] [33 XP:60400] [34 XP:63900] [35 XP:67400] [36 XP:70900] [37 XP:74900] [38 XP:78900] [39 XP:82900] [40] XP:86900][41 XP:90900] [42 XP:95400] [43 XP:99900] [44 XP:104400] [45 XP:108900] [46 XP:113400] [47 XP:118400] [48 XP:123400] [49 XP:128400] [50 XP:133400] [51 XP:138900] [52 XP:144400] [53 XP:149900] [54 XP:155400] [55 XP:161000] [56 XP:167000] [57 XP:173000] [58 XP:179000] [59 XP:185000] [60] XP:191000] [61 XP:197500] [62 XP:204000] [63 XP:210500] [64 XP:217000] [65 XP:223500] [66 XP:230500] [67 XP:237500] [68 XP:244500] [69 XP:251500] [70] XP:258500] [71 XP:266000] [72 XP:273500] [73 XP:281000] [74 XP:288500] [75 XP:296000] [76 XP:304000] [77 XP:312000] [78 XP:320000] [79 XP:328000] [80] XP:336000] [81 XP:344500] [82 XP:353000] [83 XP:361500] [84 XP:370000] [85 XP:378500] [86 XP:387500] [87 XP:396500] [88 XP:405500] [89 XP:414500] [90 XP:423500] [91 XP:433000] [92 XP:442500] [93 XP:452000] [94 XP:461500] [95 XP:471000] [96 XP:481000] [97 XP:491000] [98 XP:501000] [99 XP:511000] [100] XP:521500] [101 XP:532000] [102 XP:542500] [103 XP:553000] [104 XP:564000] [105 XP:575000] [106 XP:586000] [107 XP:597000] [108 XP:608000] [109 XP:619500] [110] XP:631000] [111 XP:642500] [112 XP:654000] [113 XP:665500] [114 XP:677500] [115 XP:689500] [116 XP:701500] [117 XP:713500] [118 XP:725500] [119 XP:738000] [120] XP:750500] [121 XP:763000] [122 XP:775500] [123 XP:788000] [124 XP:801000] [125 XP:814000] [126 XP:827000] [127 XP:840000] [128 XP:853000] [129 XP:866500] [130] XP:880000] [131 XP:893500] [132 XP:907000] [133 XP:920500] [134 XP:934500] [135 XP:948500] [136 XP:962500] [137 XP:976500] [138 XP:990500] [139 XP:1005000] [140] XP:1019500] [141 XP:1034000] [142 XP:1048500] [143 XP:1063000] [144 XP:1078000] [145 XP:1093000] [146 XP:1108000] [147 XP:1123000] [148 XP:1138000] [149 XP:1153000] [150] XP:1168000] [151 XP:8088010] [152 XP:8205310] [153 XP:8323310] [154 XP:8442010] [155 XP:8561410] [156 XP:8681510] [157 XP:8802310] [158 XP:8923810] [159 XP:9046010] [160] XP:9168910] [161 XP:9292510] [162 XP:9416810] [163 XP:9541810] [164 XP:9667510] [165 XP:9793910] [166 XP:9921010] [167 XP:10048810] [168 XP:10177310] [169 XP:10306510] [170] XP:10436410] [171 XP:10567010] [172 XP:10698310] [173 XP:10830310] [174 XP:10963010] [175 XP:11096410] [176 XP:11230510] [177 XP:11365310] [178 XP:11500810] [179 XP:11637010] [180 XP:11773910] [181 XP:11911510] [182 XP:12049810] [183 XP:12188810] [184 XP:12328510] [185 XP:12468910] [186 XP:12610010] [187 XP:12751810] [188 XP:12894310] [189 XP:13037510] [190 XP:13181410] [191 XP:13326010] [192 XP:13471310] [193 XP:13617310] [194 XP:13764010] [195 XP:13911410] [196 XP:14059510] [197 XP:14208310] [198 XP:14357810] [199 XP:14508010] [200 XP:14658910]
to find how many times you need to get the wanted level. Open a calculator and add your current level + remaing XP in it. Like 23 = 30,900XP and I have 435 XP in my bar. 31,335XP I have, I want level 44, 104,400 - 31,335 = 73,065XP needed. I check the response that was given when I sent the mission end request, it reads that I get 398XP per resend. 73,065/398 = 184 times that I must send my request.
However many samples you pick up in your game is how many you will acquire with each resend. However much XP was earned in the match will be how much with each resend, same goes for medals and requisitions.
WARNING: Whoever is in the match with you when you complete the mission will also get exactly as you do, with each resend. This can be dangerous as you might accidentally make another player jump 20+ levels. I suggest doing it solo or with friends.
Do not sell this as I have given it to you for free. Now go and spread democracy.