'PACI 2,317 Posted October 28, 2013 Oi. Como alguns sabem, o game r34083 não possui pong, uma vez que está desativado. Porém, existe uma outra key que é a tal CheckClientVersion cuja função é parecida. Ora bem, sabemos que, se o pong do cliente for diferente ao do servidor, e vice versa, não conectam. Com o CheckClientVersion vocês conectam, no entanto, se a versão do servidor for diferente ao do cliente, e vice versa again, dentro de uns 10 segundos, são desconectados da vossa conta automáticamente. Isto já está postado, mas alguns cotocos da epvp tinham problemas nisto, então abri o IDA e fui tentar descobrir qual era o problema, se era do offset, ou dos bytes. (No fim não era nenhum, mas pronto lol) Meu comentário no tópico da EPVP: Nop, i already saw in IDA and the offset is correct, i personaly made another difference file to check if the offset is the same, and it is. Pseudocode in 8MB game: if ( v22 > v21 ) { v23 = (char *)locale_find((unsigned int)&unk_8469F10); CHARACTER__ChatPacket(v2, 2, v23, v21); DESC__DelayedDisconnect(a2, 10); LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2); v44 = CHARACTER__GetName(v2); sys_log( 0, "VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s", a2 + 120); }And with the dif: if ( v22 != v21 ) { v23 = (char *)locale_find((unsigned int)&unk_8469F10); CHARACTER__ChatPacket(v2, 2, v23, v21); DESC__DelayedDisconnect(a2, 10); LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2); v44 = CHARACTER__GetName(v2); sys_log( 0, "VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s", a2 + 120); }So it can't be an offset's problem, here's the dif that i got when i changed the > to != : This difference file has been created by IDA Progame_r34083_32_internal_ip000F4904: 8E 84As you can see, the offset and the bytes are the same. O que esta dif faz é "desbugar", de certa forma, o CheckClientVersion, porque, por defeito, o pseudocode é o seguinte: if ( v22 > v21 ) { v23 = (char *)locale_find((unsigned int)&unk_8469F10); CHARACTER__ChatPacket(v2, 2, v23, v21); DESC__DelayedDisconnect(a2, 10); LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2); v44 = CHARACTER__GetName(v2); sys_log( 0, "VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s", a2 + 120); }O que isto quer dizer é que se a versão do cliente for maior ao do servidor, nunca irá desconectar da conta mesmo não sendo iguais! Por isso, esta dif troca o sinal de maior para o sinal de diferente. Ficando com o pseudo da seguinte forma: if ( v22 != v21 ) { v23 = (char *)locale_find((unsigned int)&unk_8469F10); CHARACTER__ChatPacket(v2, 2, v23, v21); DESC__DelayedDisconnect(a2, 10); LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2); v44 = CHARACTER__GetName(v2); sys_log( 0, "VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s", a2 + 120); }Dito isto, sempre que as versões forem diferentes, serão desligados das vossas contas. Key Padrão: 1215955205 Dif: This difference file has been created by IDA Progame_r34083_32_internal_ip000F4904: 8E 84Imagem: Para aqueles que queiram saber do tópico original: http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2549527-release-checkclientversion-compare-bugfix.html E pronto, como não estava postado cá, decidi fazê-lo eu. 5 ediciusPILL, Khavro, xXBoyDarkXx and 2 others reacted to this Share this post Link to post Share on other sites
'PACI 2,317 Posted October 28, 2013 Oloco bixo ^-^Já viu fera? Até já faço difs <.< so mt differ rsrs. (demorei 10 minutos, 7 à espera do ida carregar e 3 a fazer o resto) >.<' Share this post Link to post Share on other sites
'PACI 2,317 Posted October 29, 2013 PS. É de salientar que necessitam obviamente da parte do locale_string.txt! "Ŭ¶óÀ̾ðÆ® ¹öÀüÀÌ Æ²·Á ·Î±×¾Æ¿ô µË´Ï´Ù. Á¤»óÀûÀ¸·Î ÆÐÄ¡ ÈÄ Á¢¼ÓÇϼ¼¿ä.";"A versão do teu cliente não é correta. Por favor, executa o autopatcher."; Share this post Link to post Share on other sites
Khavro 467 Posted October 29, 2013 Obrigado Pacificador, +1 Share this post Link to post Share on other sites
SINVAL o.O 728 Posted October 29, 2013 +1, como troco a key do cliente e do servidor ? desculpa a nobsie mais nunca mexi nisso... Share this post Link to post Share on other sites
Khavro 467 Posted October 29, 2013 +1, como troco a key do cliente e do servidor ? desculpa a nobsie mais nunca mexi nisso... Pelo que entendi é adicionar a diff: Dif:This difference file has been created by IDA Progame_r34083_32_internal_ip000F4904: 8E 84 E depois adicionar isto no locale_string.txt que fica em cd /../../.../share/locale/portugal/ "Ŭ¶óÀ̾ðÆ® ¹öÀüÀÌ Æ²·Á ·Î±×¾Æ¿ô µË´Ï´Ù. Á¤»óÀûÀ¸·Î ÆÐÄ¡ ÈÄ Á¢¼ÓÇϼ¼¿ä."; "A versão do teu cliente não é correta. Por favor, executa o autopatcher."; Mas claro penso que tem de se adicionar algo no .exe do client ainda não descobri o que nem onde mas assim que souber digo-te qualquer coisinha. Share this post Link to post Share on other sites
Khavro 467 Posted October 30, 2013 Funcionou perfeitamente! Share this post Link to post Share on other sites
SINVAL o.O 728 Posted October 30, 2013 Pelo que entendi é adicionar a diff: E depois adicionar isto no locale_string.txt que fica em cd /../../.../share/locale/portugal/ Mas claro penso que tem de se adicionar algo no .exe do client ainda não descobri o que nem onde mas assim que souber digo-te qualquer coisinha. Sim mais com isso se eu souber mudar a key do bin e do game para uma determinada ai já poderão usar apenas meu cliente pra logar. Share this post Link to post Share on other sites
'PACI 2,317 Posted October 30, 2013 +1, como troco a key do cliente e do servidor ? desculpa a nobsie mais nunca mexi nisso...Como se altera o pong? 1 SINVAL o.O reacted to this Share this post Link to post Share on other sites
SINVAL o.O 728 Posted October 30, 2013 Já sei eu tava tentando mais key padrão e diferente, mais já resolvi obrigado. Share this post Link to post Share on other sites
яคƒคεł รεหค 238 Posted January 17, 2014 Tenho esse Game. Ja usei a Diff, agora como ponho 1 cliente a conectar ao servidor? Share this post Link to post Share on other sites
ItachiUchiha 51 Posted February 14, 2016 Eu tenho isso mas eu queria remover como posso fazer Share this post Link to post Share on other sites