Page 1 of 2 12 LastLast
Results 1 to 15 of 24
  1. #1
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored

    Find Client Errors

    Hey, how to find the client error's message box offsets?
    I found some offsets but none was from client errors, only DC & common
    lobby messages. Any ideas?
    Press thanks if I helped

    Xigncode Security:


  2. #2
    I2espect's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Location
    On Other Planet
    Posts
    641
    Reputation
    28
    Thanks
    870
    My Mood
    Devilish
    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

  3. The Following User Says Thank You to I2espect For This Useful Post:

    vaisefud3 (05-26-2018)

  4. #3
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by I2espect View Post
    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
    Very useful! I was trying to hook it but always gave me send report.
    Press thanks if I helped

    Xigncode Security:


  5. #4
    O conhecimento é o caminho para liberdade.
    MPGH Member
    dreek1's Avatar
    Join Date
    Jun 2012
    Gender
    male
    Location
    localhost
    Posts
    1,175
    Reputation
    74
    Thanks
    1,263
    My Mood
    In Love
    @I2espect
    about client error i've tried to follow the function of SuperKill and I get this function

    IDA:
    Code:
    int __cdecl GetModelByIndex(signed int index)
    {
      int result; // eax
    
      result = 0;
      if ( index >= 0 && index <= -1 && index <= 1499 )
        result = 0x9C * index;
      return result;
    }
    this function it's like
    DWORD pModelNodeType = (DWORD)(pHeadShotMgr + 0x9C * i);
    I find Reference for this address and compare to CrossFire NA (CF NA don't have check for superkill(22_12) ) and have 1 addr more than CFBR
    so I tried hook like 28_3 And return the error...
    Do you have any idea to hook the function?
    Public Hack:
    Jun 2012 / Dec 2017

  6. The Following User Says Thank You to dreek1 For This Useful Post:

    CaiozinhoFC1 (11-28-2018)

  7. #5
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    I found that most errors are on 0x2c 0x9a. When I tried to bypass it, got send report
    Press thanks if I helped

    Xigncode Security:


  8. #6

  9. #7
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by I2espect View Post
    did u use virtualprotect ??
    Problem isn't writing to memory. It occurs when I was supposed to get the error.
    Press thanks if I helped

    Xigncode Security:


  10. #8
    I2espect's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Location
    On Other Planet
    Posts
    641
    Reputation
    28
    Thanks
    870
    My Mood
    Devilish
    Quote Originally Posted by vaisefud3 View Post
    Problem isn't writing to memory. It occurs when I was supposed to get the error.
    Same .. u should use virtualprotect to make it executable again after u patch.. .. do u write the oldprotection after u patch ?
    Show ur code and patch place so we can help
    Btw sometimes it's the place u patch is wrong ..

  11. #9
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by I2espect View Post
    Same .. u should use virtualprotect to make it executable again after u patch.. .. do u right the oldprotection after u patch ?
    Show ur code and patch place so we can help
    Btw sometimes it's the place u patch is wrong ..
    When I get home I'll post.

  12. #10
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by I2espect View Post
    Same .. u should use virtualprotect to make it executable again after u patch.. .. do u write the oldprotection after u patch ?
    Show ur code and patch place so we can help
    Btw sometimes it's the place u patch is wrong ..
    I did not suceeded with client errors(at least the one's I tried. I'll focus now on the DC's. Anyway, thank you for the hook.

    - - - Updated - - -

    BTW, on the image you sent, what's the dll/file? Couldn't find it on CShell/Crossfire.exe.
    Press thanks if I helped

    Xigncode Security:


  13. #11
    CaiozinhoFC1's Avatar
    Join Date
    May 2016
    Gender
    male
    Posts
    230
    Reputation
    10
    Thanks
    86
    ; ASCII "ReloadAnimRatio"
    FSTP DWORD PTR DS:[EAX+13A8]

    ...look for the same offset throughout cshell with the initial FLD

    0x_function_Local /$ 66:000000 04 MOV CX,WORD PTR SS:[ESP+4]
    0x_... |. 66:0000 FF CMP CX,0FFFF
    ...

    ClientError:14_0_fastreload
    PUSH EAX
    0x_call_function /CALL CShel.0x_function_Local
    ADD ESP,4
    CMP EAX,EBX
    JE CShell.0x0 <- jmp bypass
    FLD DWORD PTR DS:[EAX+13A8] <- check offset

    BYPASS_CROSSFIRE_CSHELL ( CShell, 0x_call_function, (DWORD)fastReload );
    Last edited by CaiozinhoFC1; 05-28-2018 at 09:01 AM.
    One Position Kill CFBR

  14. The Following User Says Thank You to CaiozinhoFC1 For This Useful Post:

    gaerGAERHGaerherh (05-29-2018)

  15. #12
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by CaiozinhoFC1 View Post
    ; ASCII "ReloadAnimRatio"
    FSTP DWORD PTR DS:[EAX+13A8]

    ...look for the same offset throughout cshell with the initial FLD

    0x_function_Local /$ 66:000000 04 MOV CX,WORD PTR SS:[ESP+4]
    0x_... |. 66:0000 FF CMP CX,0FFFF
    ...

    ClientError:14_0_fastreload
    PUSH EAX
    0x_call_function /CALL CShel.0x_function_Local
    ADD ESP,4
    CMP EAX,EBX
    JE CShell.0x0 <- jmp bypass
    FLD DWORD PTR DS:[EAX+13A8] <- check offset

    BYPASS_CROSSFIRE_CSHELL ( CShell, 0x_call_function, (DWORD)fastReload );
    So... in order to make fast reload, you need to patch the jump or the call?
    Press thanks if I helped

    Xigncode Security:


  16. #13
    gaerGAERHGaerherh's Avatar
    Join Date
    Oct 2017
    Gender
    male
    Posts
    242
    Reputation
    10
    Thanks
    141
    i think if found offset again cant bypass
    Last edited by gaerGAERHGaerherh; 05-29-2018 at 08:49 AM.

  17. #14
    gaerGAERHGaerherh's Avatar
    Join Date
    Oct 2017
    Gender
    male
    Posts
    242
    Reputation
    10
    Thanks
    141
    Quote Originally Posted by CaiozinhoFC1 View Post
    ; ASCII "ReloadAnimRatio"
    FSTP DWORD PTR DS:[EAX+13A8]

    ...look for the same offset throughout cshell with the initial FLD

    0x_function_Local /$ 66:000000 04 MOV CX,WORD PTR SS:[ESP+4]
    0x_... |. 66:0000 FF CMP CX,0FFFF
    ...

    ClientError:14_0_fastreload
    PUSH EAX
    0x_call_function /CALL CShel.0x_function_Local
    ADD ESP,4
    CMP EAX,EBX
    JE CShell.0x0 <- jmp bypass
    FLD DWORD PTR DS:[EAX+13A8] <- check offset

    BYPASS_CROSSFIRE_CSHELL ( CShell, 0x_call_function, (DWORD)fastReload );
    i found it but how to use can you send any source ?

  18. #15
    vangke45's Avatar
    Join Date
    Jun 2018
    Gender
    male
    Posts
    18
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by I2espect View Post
    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
    what the target u get?
    cshell.dll or cf.exe?

Page 1 of 2 12 LastLast

Similar Threads

  1. CROSSFIRE CF CLIENT ERROR
    By DOMAGOJCAR23 in forum CrossFire Help
    Replies: 9
    Last Post: 01-04-2011, 04:46 AM
  2. [SOLVED] cf client error 20_2
    By Naruto75 in forum CrossFire Help
    Replies: 4
    Last Post: 11-20-2010, 01:43 AM
  3. Cant find The Error
    By egodsk in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 5
    Last Post: 10-21-2010, 06:31 AM
  4. client error
    By mullerrice in forum Combat Arms EU Discussions
    Replies: 6
    Last Post: 06-25-2010, 06:27 AM
  5. Crossfire Client Error MFC
    By SXE BOI in forum CrossFire Discussions
    Replies: 4
    Last Post: 04-21-2010, 01:40 AM