Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| de561d5170 | |||
| ea7529c1d7 | |||
| 8830d1abdb | |||
| 71fe1c6549 |
@@ -6,6 +6,7 @@
|
||||
#include "log-sink-file.h"
|
||||
#include "proxy-configurator.h"
|
||||
#include "cache-cleaner.h"
|
||||
#include "xbox-fixes.h"
|
||||
|
||||
#include <seallib/log.h>
|
||||
#include <tinymitm/proxy.h>
|
||||
@@ -103,9 +104,11 @@ bool run()
|
||||
conf = new ProxyConfigurator();
|
||||
conf->setProxy("127.0.0.1", 44444);
|
||||
|
||||
mainLog.info("Instantiating spoofer and registering proxy listeners");
|
||||
mainLog.info("Instantiating and registering proxy listeners");
|
||||
Spoofer* spoofer = new Spoofer();
|
||||
XboxFixes* xboxFix = new XboxFixes();
|
||||
spoofer->registerListeners(proxy);
|
||||
xboxFix->registerListeners(proxy);
|
||||
|
||||
mainLog.info("Starting proxy");
|
||||
if (!proxy->init())
|
||||
@@ -117,7 +120,6 @@ bool run()
|
||||
}
|
||||
|
||||
mainLog.info("Setting up system tray icon");
|
||||
|
||||
TrayIcon tray;
|
||||
tray.setExitCallback([&]() {
|
||||
running = false;
|
||||
|
||||
@@ -54,6 +54,7 @@ Spoofer::~Spoofer()
|
||||
delete _log;
|
||||
}
|
||||
|
||||
|
||||
void Spoofer::registerListeners(TinyMITMProxy* proxy)
|
||||
{
|
||||
proxy->onClientRequest.addListener(
|
||||
|
||||
@@ -84,7 +84,7 @@ bool TrayIcon::init()
|
||||
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
|
||||
nid.uCallbackMessage = WM_TRAYICON;
|
||||
|
||||
nid.hIcon = LoadIcon(NULL, IDI_APPLICATION);
|
||||
nid.hIcon = LoadIconA(GetModuleHandle(NULL), "IDI_ICON1");
|
||||
strncpy_s(nid.szTip, "HexUnlocked", sizeof(nid.szTip) - 1);
|
||||
nid.szTip[sizeof(nid.szTip) - 1] = '\0';
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
#include "xbox-fixes.h"
|
||||
|
||||
#include <tinymitm/proxy.h>
|
||||
|
||||
XboxFixes::XboxFixes() {}
|
||||
|
||||
XboxFixes::~XboxFixes() {}
|
||||
|
||||
void XboxFixes::registerListeners(TinyMITMProxy* proxy)
|
||||
{
|
||||
proxy->onServerResponse.addListener(
|
||||
[this](const std::string& url, std::string& body, std::string& headers, bool wasBlocked) {
|
||||
this->serverResponseHandler(url, body, headers, wasBlocked);
|
||||
});
|
||||
}
|
||||
|
||||
void XboxFixes::antiCensor(std::string& body)
|
||||
{
|
||||
body = R"-({"verifyStringResult":[{"resultCode":0,"offendingString":null}]})-";
|
||||
}
|
||||
|
||||
void XboxFixes::serverResponseHandler(const std::string& url, std::string& body, std::string& /*headers*/,
|
||||
bool& /*blockOutgoing*/)
|
||||
{
|
||||
if (url.find("xboxlive.com") == std::string::npos) return;
|
||||
|
||||
if (url.ends_with("/system/strings/validate")) return antiCensor(body);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
class TinyMITMProxy;
|
||||
|
||||
class XboxFixes
|
||||
{
|
||||
public:
|
||||
XboxFixes();
|
||||
~XboxFixes();
|
||||
|
||||
void registerListeners(TinyMITMProxy* proxy);
|
||||
|
||||
private:
|
||||
void antiCensor(std::string& body);
|
||||
|
||||
void serverResponseHandler(const std::string& url, std::string& body, std::string& headers,
|
||||
bool& blockOutgoing);
|
||||
};
|
||||
Reference in New Issue
Block a user