67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
|
#pragma once
|
||
|
#include "rage/rlGamerInfo.hpp"
|
||
|
|
||
|
#pragma pack(push, 2)
|
||
|
namespace rage
|
||
|
{
|
||
|
class SecurityPeer
|
||
|
{
|
||
|
public:
|
||
|
#pragma pack(push, 8)
|
||
|
struct Info
|
||
|
{
|
||
|
uint8_t platform;
|
||
|
rage::rlGamerHandle handle;
|
||
|
char name[16];
|
||
|
};
|
||
|
#pragma pack(pop)
|
||
|
|
||
|
std::uint8_t gap0[80];
|
||
|
int m_security_id_2;
|
||
|
std::uint8_t gap54[52];
|
||
|
int m_time_initialized;
|
||
|
std::uint8_t gap8C[4];
|
||
|
int dword90;
|
||
|
int m_security_id;
|
||
|
int gap98;
|
||
|
std::uint8_t gap9C[4];
|
||
|
rage::netPeerAddress m_address;
|
||
|
rage::netPeerAddress m_real_address;
|
||
|
std::uint64_t qwordE0; // unk data from the bitbuffer
|
||
|
std::uint64_t qwordE8;
|
||
|
std::uint64_t qwordF0;
|
||
|
std::uint64_t m_peer_id;
|
||
|
rage::rlGamerHandle m_unverified_handle;
|
||
|
char m_dtls_cxn_type;
|
||
|
std::uint8_t gap111[3];
|
||
|
char m_timeouts[0x40];
|
||
|
std::uint8_t gap154[4];
|
||
|
char m_decryption_lock[0x28];
|
||
|
void* m_WolfSSL;
|
||
|
rage::SecurityPeer::Info m_info;
|
||
|
std::uint8_t gap1B0[48];
|
||
|
rage::netPeerAddress m_last_provided_address;
|
||
|
int m_last_provided_security_id;
|
||
|
std::uint8_t gap204[44];
|
||
|
char m_peer_query_stage;
|
||
|
std::uint8_t gap231[3];
|
||
|
int m_get_peer_address_status;
|
||
|
std::uint8_t gap238[8];
|
||
|
rage::netPeerAddress m_peer_query_result;
|
||
|
bool m_errored;
|
||
|
std::uint8_t m_dtls_cxn_establish_state;
|
||
|
char aaaa[2];
|
||
|
int m_error_code;
|
||
|
std::uint8_t gap268[96]; // error queue
|
||
|
std::uint8_t m_info_requests;
|
||
|
std::uint8_t m_failed_decryption_attempts;
|
||
|
std::uint8_t gap2CA[6];
|
||
|
int m_certificate_verify_error_code;
|
||
|
int m_certificate_verify_status;
|
||
|
std::uint8_t gap2D8[8];
|
||
|
char m_flags;
|
||
|
std::uint8_t gap2E1[761];
|
||
|
};
|
||
|
static_assert(sizeof(rage::SecurityPeer) == 0x5DA);
|
||
|
}
|
||
|
#pragma pack(pop)
|