Fix realy exploit
This commit is contained in:
parent
56b01bc2ae
commit
bb65f463be
2
deps/fmt
vendored
2
deps/fmt
vendored
@ -1 +1 @@
|
||||
Subproject commit d5893c9a133382e1862c929c1d50ccaef2a6d2fc
|
||||
Subproject commit ed301089183f51d53f9f076b9676d9c2a1f7c505
|
2
deps/json11
vendored
2
deps/json11
vendored
@ -1 +1 @@
|
||||
Subproject commit 913269c7a4cf9ab61a9748090c7e2484a2546a02
|
||||
Subproject commit fb6cc808e0a3532d27ee336cd8f2e1ff06093f3b
|
2
deps/mongoose
vendored
2
deps/mongoose
vendored
@ -1 +1 @@
|
||||
Subproject commit b987df197436b8581a7a5a9e00c1d341f81fdb30
|
||||
Subproject commit a6230bafe706006eae1bf18406420969c835330a
|
2
deps/protobuf
vendored
2
deps/protobuf
vendored
@ -1 +1 @@
|
||||
Subproject commit 2ba058c66c10781d57a332987be23e3fed0f9e1c
|
||||
Subproject commit 00d5a7f099065e2c8d119039c2f42c1f88ad8f59
|
@ -684,7 +684,9 @@ namespace Components
|
||||
{
|
||||
if (entry->registered)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
Logger::Print("Received valid node list with %i entries from %s\n", list.address_size(), address.GetCString());
|
||||
#endif
|
||||
|
||||
entry->isDedi = list.is_dedi();
|
||||
entry->protocol = list.protocol();
|
||||
|
@ -106,6 +106,14 @@ namespace Components
|
||||
return size;
|
||||
}
|
||||
|
||||
void QuickPatch::CL_HandleRelayPacketCheck(Game::msg_t* msg, int client)
|
||||
{
|
||||
if (Command::Params().Length() >= 3)
|
||||
{
|
||||
Game::CL_HandleRelayPacket(msg, client);
|
||||
}
|
||||
}
|
||||
|
||||
QuickPatch::QuickPatch()
|
||||
{
|
||||
// protocol version (workaround for hacks)
|
||||
@ -325,6 +333,7 @@ namespace Components
|
||||
Utils::Hook::Set<BYTE>(0x412370, 0xC3); // SV_SteamAuthClient
|
||||
Utils::Hook(0x414D92, QuickPatch::MsgReadBitsCompressCheckSV, HOOK_CALL).Install()->Quick(); // SV_ExecuteClientCommands
|
||||
Utils::Hook(0x4A9F56, QuickPatch::MsgReadBitsCompressCheckCL, HOOK_CALL).Install()->Quick(); // CL_ParseServerMessage
|
||||
Utils::Hook(0x5AA009, QuickPatch::CL_HandleRelayPacketCheck, HOOK_CALL).Install()->Quick(); // CL_HandleRelayPacket
|
||||
|
||||
Command::Add("unlockstats", [] (Command::Params params)
|
||||
{
|
||||
|
@ -1,27 +1,28 @@
|
||||
namespace Components
|
||||
{
|
||||
class QuickPatch : public Component
|
||||
{
|
||||
public:
|
||||
typedef void(Callback)();
|
||||
|
||||
QuickPatch();
|
||||
~QuickPatch();
|
||||
const char* GetName() { return "QuickPatch"; };
|
||||
|
||||
static void UnlockStats();
|
||||
static void OnShutdown(Callback* callback);
|
||||
|
||||
static void OnFrame(Callback* callback);
|
||||
static void Once(Callback* callback);
|
||||
|
||||
private:
|
||||
static wink::signal<wink::slot<Callback>> ShutdownSignal;
|
||||
|
||||
static int64_t* GetStatsID();
|
||||
static void ShutdownStub(int channel, const char* message);
|
||||
|
||||
static int MsgReadBitsCompressCheckSV(const char *from, char *to, int size);
|
||||
static int MsgReadBitsCompressCheckCL(const char *from, char *to, int size);
|
||||
};
|
||||
}
|
||||
namespace Components
|
||||
{
|
||||
class QuickPatch : public Component
|
||||
{
|
||||
public:
|
||||
typedef void(Callback)();
|
||||
|
||||
QuickPatch();
|
||||
~QuickPatch();
|
||||
const char* GetName() { return "QuickPatch"; };
|
||||
|
||||
static void UnlockStats();
|
||||
static void OnShutdown(Callback* callback);
|
||||
|
||||
static void OnFrame(Callback* callback);
|
||||
static void Once(Callback* callback);
|
||||
|
||||
private:
|
||||
static wink::signal<wink::slot<Callback>> ShutdownSignal;
|
||||
|
||||
static int64_t* GetStatsID();
|
||||
static void ShutdownStub(int channel, const char* message);
|
||||
|
||||
static int MsgReadBitsCompressCheckSV(const char *from, char *to, int size);
|
||||
static int MsgReadBitsCompressCheckCL(const char *from, char *to, int size);
|
||||
static void CL_HandleRelayPacketCheck(Game::msg_t* msg, int client);
|
||||
};
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ namespace Game
|
||||
CL_ConnectFromParty_t CL_ConnectFromParty = (CL_ConnectFromParty_t)0x433D30;
|
||||
CL_DownloadsComplete_t CL_DownloadsComplete = (CL_DownloadsComplete_t)0x42CE90;
|
||||
CL_DrawStretchPicPhysical_t CL_DrawStretchPicPhysical = (CL_DrawStretchPicPhysical_t)0x4FC120;
|
||||
CL_HandleRelayPacket_t CL_HandleRelayPacket = (CL_HandleRelayPacket_t)0x5A8C70;
|
||||
CL_ResetViewport_t CL_ResetViewport = (CL_ResetViewport_t)0x4A8830;
|
||||
|
||||
Cmd_AddCommand_t Cmd_AddCommand = (Cmd_AddCommand_t)0x470090;
|
||||
|
@ -24,6 +24,9 @@ namespace Game
|
||||
typedef void(_cdecl * CL_DrawStretchPicPhysical_t)(float x, float y, float w, float h, float xScale, float yScale, float xay, float yay, const float *color, Game::Material* material);
|
||||
extern CL_DrawStretchPicPhysical_t CL_DrawStretchPicPhysical;
|
||||
|
||||
typedef void(__cdecl * CL_HandleRelayPacket_t)(Game::msg_t* msg, int client);
|
||||
extern CL_HandleRelayPacket_t CL_HandleRelayPacket;
|
||||
|
||||
typedef void(__cdecl * CL_ResetViewport_t)();
|
||||
extern CL_ResetViewport_t CL_ResetViewport;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user