==============INTEGRITY CHECK==============
Code:
*(std::uint64_t*)&report_table[0x3A] = battleye::report;
if ( *(std::uint32_t*)(battleye::report + 5) == 0xCCCCCCCC &&
*(std::uint32_t*)(battleye::report + 0x1506CA) == 0xFFF3BF25 &&
(*(std::uint32_t*)(battleye::report + 1) != 0x1506C9 || *((std::uint8_t*)battleye::report + 0x1506CE) != 0x68) )
{
report_table[0x43] = 1;
}
==============BYPASS==============
Code:
void battleye_report_hook(const std::uint8_t* buffer, const std::size_t size)
{
// ? BECLIENT2 PACKET ?
if (buffer[1] == PACKET_BECLIENT2) // 0x39
{
// SET INTEGRITY CHECK RESULT
buffer[0x43] = true;
}
// SEND THE INFORMATION TO BATTLEYE SERVERS
original_fn(buffer, size);
}
Use at your own risk