[Release] Disconnect players exploit found by IWA

04/15/2017 17:59 DaxterSoul#46
Quote:
Originally Posted by Drupanda View Post
Third way:
Code:
// C->S
if(pck.Opcode == 0x7005)
{ 
	if(_pck.ReadUInt8() > 2) {
		return;
	}
}
Fourth way Complex, but will fix all charscreen exploits.
Code:
1. Create bool called "char_screen" set default value to false.
2. At C->S opcode = 0x7007(CLIENT_CHARSCREEN) register char_screen to true.
3. At S->C opcode = 0x3020(SERVER_CLIENT_UNIQUE_ID) register char_screen to false.
4. In _pck (loop)foreach statement, place this code:

#region SHARD EXPLOIT FIX
if(this.char_screen)
{
    if(_pck.Opcode != 0x2002 && _pck.Opcode != 0x7001 && _pck.Opcode != 0x7007)
    {
        return;
    }
}
#endregion

^ - Code above will fix all charscreen exploits, not only this one :)

Reasons why this works:
1. No C->S opcodes are sent after "char select" or "char name"
2. Last S->C opcode is 0x3020, before you can even start sending OPCODES.
3. When 0x3020 is sent, the "fix" will be disabled and you can continue play the game as intended.

^ - Reverse engineering at it's finest.
1. 0x7450 - CLIENT_AGENT_CHARACTER_SELECTION_RENAME_REQUEST is also a valid in SR_Client -> AgentServer -> SR_ShardManager message.

2. You have a logic mistake in your code. I'm not forced to send 0x7007 and could stay "char_screen = false" while being in the correct state to have the AgentServer forward messages to ShardManager. I'm going to save you from a complex lesson about "inter-modular-message-mambo-jambo" and tell you that 0xA103 - SERVER_AGENT_AUTHENTICATION_ACK is sent after successfully registering you to the ShardManager which seems to be more reliable way to determine "char_screen = true".
04/16/2017 00:11 Drupanda#47
Quote:
Originally Posted by DaxterSoul View Post
1. 0x7450 - CLIENT_AGENT_CHARACTER_SELECTION_RENAME_REQUEST is also a valid in SR_Client -> AgentServer -> SR_ShardManager message.

2. You have a logic mistake in your code. I'm not forced to send 0x7007 and could stay "char_screen = false" while being in the correct state to have the AgentServer forward messages to ShardManager. I'm going to save you from a complex lesson about "inter-modular-message-mambo-jambo" and tell you that 0xA103 - SERVER_AGENT_AUTHENTICATION_ACK is sent after successfully registering you to the ShardManager which seems to be more reliable way to determine "char_screen = true".
Thanks, you got the point do :)
04/23/2017 23:10 delinuker#48
How to fix?
04/25/2017 08:22 sonzenbi#49
Quote:
Originally Posted by delinuker View Post
How to fix?
u need a filter
05/14/2017 12:06 jacarantha#50
JID I can not make the settings will help?
05/31/2017 06:54 hnt11951195#51
it work on ??? ... please help me setting ... if you have a video please share for me
my fb: [Only registered and activated users can see links. Click Here To Register...]
mail: [Only registered and activated users can see links. Click Here To Register...]
07/10/2017 19:12 InPanic Kev#52
this files .... holy :D