Тема: Актуально Обход шифрования пакетов
Показать сообщение отдельно
Старый 19.11.2024, 20:36  
Diantro
Проф. продавец
Аватар для Diantro
OFFLINE
Регистрация: 29.10.2023
Сообщений: 1,850
Благодарностей:
260 всего
Мнения: + 460
Репутация: 781

А-а, я думал можно без ассембли как-то обойтись. Вот так получилось. Выглядит и правда аккуратней.

Код:
void __declspec(naked) sendNetMessageTrampoline(void* thisPtr, DWORD zero1, const char* packetTypePtr, const char* packetContentPtr, DWORD length, DWORD zero2) {
    __asm {
        push ebp
        mov ebp, esp
        sub esp, 0x18
        jmp[jmpBackAddrSendNetMessage]
    }
}
   
void __fastcall sendHookFunc(void* thisPtr, PVOID _EDX, DWORD zero1, const char* packetTypePtr, const char* packetContentPtr, DWORD length, DWORD zero2) {
    printSendBufferToLog(packetTypePtr, packetContentPtr, length);

    return reinterpret_cast<game::_SendNetMessage>(sendNetMessageTrampoline)(thisPtr, zero1, packetTypePtr, packetContentPtr, length, zero2);
}
 
Ответить с цитированием