as much as i know ,, messagebox offsets are behind what happen when u click buttons,, what button(s) it has ,, events .. not client error specific ?
but u can just hook messagebox,,, log every call with its arguments
go into a game get a client error ,, see the log to find which one
i logged dc messagebox,, it look like this
Code:
Arugments : 45,119,0,0,0 >> DC+BAN
code will be something like this :
Code:
dwJMPback_InGameMessage = MSGBOX + 6;
PlaceJMP((PBYTE)MSGBOX, (DWORD)hkInGameMessage, 6);
DWORD dwJMPback_InGameMessage;
__declspec(naked) void hkInGameMessage(BYTE b1, BYTE b2, BYTE b3, const char* c4, BYTE b5) {
__asm {
PUSH EBP
MOV EBP, ESP
AND ESP, 0xFFFFFFF8
}
__asm PUSHAD
__asm PUSHFD
ZOUTPUT << "INGAMEMESSAGE >> CALLED !" << endl;
ZOUTPUT << "Arugments : " << (int)b1 << "," << (int)b2 << "," << (int)b3 << "," << (int)b5 << endl;
ZOUTPUT << "pointer : " << (DWORD)c4 << endl;
__asm POPFD
__asm POPAD
__asm JMP[dwJMPback_InGameMessage]
}
btw on client errors :
all i can find about client errors in the game is
this strings ,, i will try to byte patch some of them and try later..
Image Link :
https://ibb.co/nChTt8