Compare commits

...

5 Commits

Author SHA1 Message Date
neru 5f7ab419b0 fix: always set bloodWebData level
Build / build (push) Successful in 3m17s
2026-03-22 03:04:06 -03:00
neru 38b98bc3ab feat: spoof purchaseInfo
Build / build (push) Has been cancelled
2026-03-22 03:01:11 -03:00
neru fd0f55bd5e fix: remove unused variable (again)
Build / build (push) Successful in 3m16s
2026-03-22 00:03:15 -03:00
neru 502a35357c fix: remove unused variable
Build / build (push) Failing after 2m45s
2026-03-21 23:59:00 -03:00
neru f3020200a0 fix: use zeromemory for initialization (wtf)
Build / build (push) Failing after 2m36s
2026-03-21 23:55:28 -03:00
3 changed files with 17 additions and 10 deletions
+5 -2
View File
@@ -13,6 +13,7 @@
#include <ctime> #include <ctime>
#include <processthreadsapi.h> #include <processthreadsapi.h>
#include <cstring>
std::string randomizeString(size_t length) std::string randomizeString(size_t length)
{ {
@@ -133,9 +134,11 @@ bool CertManager::GenerateCA()
Log::info("Generated new CA key and certificate files. Installing to Windows Root CA store automatically..."); Log::info("Generated new CA key and certificate files. Installing to Windows Root CA store automatically...");
STARTUPINFOA si = {0}; STARTUPINFOA si;
memset(&si, 0, sizeof(si));
si.cb = sizeof(si); si.cb = sizeof(si);
PROCESS_INFORMATION pi = {0}; PROCESS_INFORMATION pi;
memset(&pi, 0, sizeof(pi));
char cmd[] = "certutil.exe -user -addstore root ca_cert.pem"; char cmd[] = "certutil.exe -user -addstore root ca_cert.pem";
if (CreateProcessA(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) if (CreateProcessA(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
{ {
-4
View File
@@ -534,10 +534,6 @@ void Proxy::handleClient(SOCKET hClientSocket)
if (!pendingUrls.empty()) pendingUrls.pop_front(); if (!pendingUrls.empty()) pendingUrls.pop_front();
std::string respHeaders = serverStream.buffer.substr(0, bStart); std::string respHeaders = serverStream.buffer.substr(0, bStart);
size_t firstSpace = respHeaders.find(' ');
int sc =
(firstSpace != std::string::npos) ? safe_stoi(respHeaders.substr(firstSpace + 1, 3)) : 0;
OnServerResponse.run(url, body, respHeaders); OnServerResponse.run(url, body, respHeaders);
removeHeader(respHeaders, "Transfer-Encoding"); removeHeader(respHeaders, "Transfer-Encoding");
+12 -4
View File
@@ -382,11 +382,19 @@ void Spoofer::serverResponseHandler(const std::string& url, std::string& body, s
for (auto& charInfo : charList) for (auto& charInfo : charList)
{ {
charInfo["isEntitled"] = true; if (charInfo["isEntitled"] == false)
if (charInfo.contains("bloodWebLevel") && charInfo["bloodWebLevel"] <= 1)
{ {
charInfo["bloodWebLevel"] = 15; charInfo["isEntitled"] = true;
if (charInfo["bloodWebData"].contains("level")) charInfo["bloodWebData"]["level"] = 1; if (charInfo.contains("bloodWebLevel")) charInfo["bloodWebLevel"] = 15;
if (charInfo.contains("bloodWebData")) charInfo["bloodWebData"]["level"] = 1;
if (charInfo.contains("origin"))
{
charInfo["purchaseInfo"] = {{"quantity", 1},
{"origin", "PlayerInventory"},
{"reason", "Item(s) added via Purchase"},
{"lastUpdateAt", 1770702482},
{"objectId", charInfo["characterName"]}};
}
} }
modifyCharacterData(charInfo); modifyCharacterData(charInfo);