Prepare new authentication protocol
This commit is contained in:
parent
dae6173bdf
commit
724c7026ef
@ -2,6 +2,8 @@
|
||||
#include "loader/component_loader.hpp"
|
||||
|
||||
#include "auth.hpp"
|
||||
#include "command.hpp"
|
||||
#include "network.hpp"
|
||||
|
||||
#include <game/game.hpp>
|
||||
|
||||
@ -92,16 +94,32 @@ namespace auth
|
||||
return !is_first;
|
||||
}
|
||||
|
||||
int send_connect_data_stub(const game::netsrc_t sock, game::netadr_t* adr, const char* data, const int len)
|
||||
int send_connect_data_stub(const game::netsrc_t sock, game::netadr_t* adr, const char* data, int len)
|
||||
{
|
||||
/*const auto is_connect_sequence = len >= 7 && strncmp("connect", data, 7) == 0;
|
||||
std::string buffer{};
|
||||
|
||||
const auto is_connect_sequence = len >= 7 && strncmp("connect", data, 7) == 0;
|
||||
if (is_connect_sequence)
|
||||
{
|
||||
MessageBoxA(0, "CONNECT", 0, 0);
|
||||
}*/
|
||||
buffer.append("connect ");
|
||||
buffer.append(data, len);
|
||||
|
||||
data = buffer.data();
|
||||
len = static_cast<int>(buffer.size());
|
||||
}
|
||||
|
||||
return reinterpret_cast<decltype(&send_connect_data_stub)>(0x142173600_g)(sock, adr, data, len);
|
||||
}
|
||||
|
||||
void handle_connect_packet(const game::netadr_t& target, const network::data_view& data)
|
||||
{
|
||||
const std::string text(data.begin(), data.end());
|
||||
command::params_sv params(text);
|
||||
|
||||
MessageBoxA(0, "Connecting", 0, 0);
|
||||
|
||||
game::SV_DirectConnect(target);
|
||||
}
|
||||
}
|
||||
|
||||
uint64_t get_guid()
|
||||
@ -123,6 +141,10 @@ namespace auth
|
||||
{
|
||||
void post_unpack() override
|
||||
{
|
||||
// Skip connect handler
|
||||
utils::hook::set<uint8_t>(game::select(0x142253EFA, 0x14053714A), 0xEB);
|
||||
network::on("connect", handle_connect_packet);
|
||||
|
||||
// Patch steam id bit check
|
||||
std::vector<std::pair<size_t, size_t>> patches{};
|
||||
const auto p = [&patches](const size_t a, const size_t b)
|
||||
|
Loading…
x
Reference in New Issue
Block a user