Ir para conteúdo

Featured Replies

Postado

Boa noite, alguém poderia me ajudar com este erro

(186.218.84.98) [Failure - Protocol::XTEA_decrypt] Not valid unencrypted message size

 

No caso eu dei olha pesquisada, isso é gerado por um player (ip 186.218.84.98), não sei como ele faz isso, mas gera um relatório de erro constante no TFS, até fechar, teria alguma maneira de automaticamente banir quem fizesse isso ? e tem como resolver isso ? vou anexar uma foto do erro.

 

kXib5iw.png

 

Obrigado.

Postado

Não é ataque ao seu servidor, isto acontece quando alguém se conecta ao servidor com bot baseado em proxy (como BlackD, Elfbot), telnet. 

 

Tente substituir a função (OFC, não testada!) EM  src/protocol.cpp

 

 

PHP:

void Protocol :: onRecvMessage ( NetworkMessage & msg )

PHP:

void Protocol :: onRecvMessage ( NetworkMessage & msg ) 

#ifdef __DEBUG_NET_DETAIL__ 
std :: cout << "Protocol::onRecvMessage" << std :: endl ; 
#endif 
if( m_encryptionEnabled ) 

#ifdef __DEBUG_NET_DETAIL__ 
std :: cout << "Protocol::onRecvMessage - decrypt" << std :: endl ; 
#endif 
if (! XTEA_decrypt ( msg ) && g_config . getBool ( ConfigManager :: BAN_UNKNOWN_BYTES )) 

int64_t banTime = - 1 ; 
ViolationAction_t action = ACTION_BANISHMENT ; 
Account tmp = IOLoginData :: getInstance ()-> loadAccount ( player -> getAccount (), true ); 

tmp . warnings ++; 
if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_DELETION )) 
action = ACTION_DELETION ; 
else if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_FINALBAN )) 

banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: FINALBAN_LENGTH ); 
action = ACTION_BANFINAL ; 

else 
banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: BAN_LENGTH ); 

if( IOBan :: getInstance ()-> addAccountBanishment ( tmp . number , banTime , 13 , action , 
"Sending not valid unencrypted message to the server." , 0 , player -> getGUID ())) 

IOLoginData :: getInstance ()-> saveAccount ( tmp ); 
player -> sendTextMessage ( MSG_INFO_DESCR , "You have been banished." ); 

g_game . addMagicEffect ( player -> getPosition (), MAGIC_EFFECT_WRAPS_GREEN ); 
Scheduler :: getInstance (). addEvent ( createSchedulerTask ( 1000 , boost :: bind ( 
& Game :: kickPlayer , & g_game , player -> getID (), false ))); 




parsePacket ( msg ); 
}

 

E mudar no config.lua 
[Lua] autoBanishUnknownBytes = true [Se tiver False]

Postado
  • Autor
7 horas atrás, Mirkaan disse:

Não é ataque ao seu servidor, isto acontece quando alguém se conecta ao servidor com bot baseado em proxy (como BlackD, Elfbot), telnet. 

 

Tente substituir a função (OFC, não testada!) EM  src/protocol.cpp

 

 

PHP:

void Protocol :: onRecvMessage ( NetworkMessage & msg )

PHP:

void Protocol :: onRecvMessage ( NetworkMessage & msg ) 

#ifdef __DEBUG_NET_DETAIL__ 
std :: cout << "Protocol::onRecvMessage" << std :: endl ; 
#endif 
if( m_encryptionEnabled ) 

#ifdef __DEBUG_NET_DETAIL__ 
std :: cout << "Protocol::onRecvMessage - decrypt" << std :: endl ; 
#endif 
if (! XTEA_decrypt ( msg ) && g_config . getBool ( ConfigManager :: BAN_UNKNOWN_BYTES )) 

int64_t banTime = - 1 ; 
ViolationAction_t action = ACTION_BANISHMENT ; 
Account tmp = IOLoginData :: getInstance ()-> loadAccount ( player -> getAccount (), true ); 

tmp . warnings ++; 
if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_DELETION )) 
action = ACTION_DELETION ; 
else if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_FINALBAN )) 

banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: FINALBAN_LENGTH ); 
action = ACTION_BANFINAL ; 

else 
banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: BAN_LENGTH ); 

if( IOBan :: getInstance ()-> addAccountBanishment ( tmp . number , banTime , 13 , action , 
"Sending not valid unencrypted message to the server." , 0 , player -> getGUID ())) 

IOLoginData :: getInstance ()-> saveAccount ( tmp ); 
player -> sendTextMessage ( MSG_INFO_DESCR , "You have been banished." ); 

g_game . addMagicEffect ( player -> getPosition (), MAGIC_EFFECT_WRAPS_GREEN ); 
Scheduler :: getInstance (). addEvent ( createSchedulerTask ( 1000 , boost :: bind ( 
& Game :: kickPlayer , & g_game , player -> getID (), false ))); 




parsePacket ( msg ); 
}

 

E mudar no config.lua 
[Lua] autoBanishUnknownBytes = true [Se tiver False]

Eu li isso no OTland num post de 2012, mas não entendi onde encontro a função " a função (OFC, não testada!) EM  src/protocol.cpp ",

, muitos players utilizam o elfbot normalmente no servidor e nunca havia gerado esse log, foi somente uma unica vez, alias, até agora foi a unica vez.

 

Obrigado pela força.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo