Aries Posted September 20, 2012 Posted September 20, 2012 Actually that's the purpose of this hash checking to prevent them from using other hexed client. Did I get your point?
GreenBox Posted September 20, 2012 Author Posted September 20, 2012 Theoretically you can hook CLoginMode::GetClientHash, as it takes only one parameter as the pointer for where to store the hash you can do whatever you like with those 16 bytes. For 2012-04-10RagexeRE this is it signature: .text:0077E1B0 ; bool __stdcall CLoginMode__GetClientHash(char *destMd5) .text:0077E1B0 ?GetClientHash@CLoginMode@@AAEXXZ proc near .text:0077E1B0 ; CODE XREF: CLoginMode::CheckExeHashFromAccServer(void)+43p .text:0077E1B0 .text:0077E1B0 this = MD5 ptr -560h .text:0077E1B0 Filename = byte ptr -508h .text:0077E1B0 DstBuf = byte ptr -404h .text:0077E1B0 var_4 = dword ptr -4 .text:0077E1B0 digest = dword ptr 4 .text:0077E1B0 sub esp, 560h .text:0077E1B6 mov eax, dword_8F1A20 .text:0077E1BB xor eax, esp .text:0077E1BD mov [esp+560h+var_4], eax .text:0077E1C4 push ebp .text:0077E1C5 mov ebp, [esp+564h+digest] .text:0077E1CC push esi .text:0077E1CD lea ecx, [esp+568h+this] ; this .text:0077E1D1 call MD5__MD5 .text:0077E1D6 mov ecx, g_hInstance -------------------------------------------------------- bool __stdcall GetClientHash(char *destMd5) { FILE *v1; // eax@1 FILE *v2; // esi@1 int v3; // eax@3 bool result; // al@4 MD5 this; // [sp+8h] [bp-560h]@1 char Filename; // [sp+60h] [bp-508h]@1 char DstBuf; // [sp+164h] [bp-404h]@3 unsigned int v8; // [sp+564h] [bp-4h]@1 v8 = (unsigned int)&this ^ dword_8F1A20; MD5::MD5(&this); GetModuleFileNameA(g_hInstance, &Filename, 0x104u); v1 = fopen(&Filename, "rb"); v2 = v1; if ( v1 ) { if ( !feof(v1) ) { do { v3 = fread(&DstBuf, 1u, 0x400u, v2); MD5::Update(&this, &DstBuf, v3); } while ( !feof(v2) ); } MD5::Finish(&this, destMd5); result = 1; } else { result = 0; } return result; }
PewN Posted September 30, 2012 Posted September 30, 2012 is anyone experiencing someone log this id when other accounts login?
nanakiwurtz Posted September 30, 2012 Posted September 30, 2012 Why not? It can regenerates MD5 signatures with a click of button.
Brynner Posted October 1, 2012 Posted October 1, 2012 hmmm ill try it later. i hope it will work Why not? It can regenerates MD5 signatures with a click of button. its not working. even i use diff client_hash. the other client can still connect to the server.
nanakiwurtz Posted October 1, 2012 Posted October 1, 2012 Have you rechecked your group_id and the hash in login_athena.conf? Try to put a different group_id in it and login with another client. Use different clients with different MD5 signature for each group_id.
Brynner Posted October 1, 2012 Posted October 1, 2012 Have you rechecked your group_id and the hash in login_athena.conf? Try to put a different group_id in it and login with another client. Use different clients with different MD5 signature for each group_id. if you include this to your diff. WDGForceClientHashPacket.dll it will force you to use only 1 client hash. and if you enable to use hash_check there is no other way to connect to the server unless you include the WDGForceClientHashPacket.dll on your client diff. which means you can't modified the client hash.
jysn Posted October 1, 2012 Posted October 1, 2012 on my charserv-sql.bat i receive unknown packet 0x006c.
Feefty Posted October 1, 2012 Posted October 1, 2012 works great but if i use different client it says my client is not latest or something. how can you change that to something else?
Brynner Posted October 1, 2012 Posted October 1, 2012 works great but if i use different client it says my client is not latest or something. how can you change that to something else? make sure that different client include this WDGForceClientHashPacket.dll on his diff. or else it cannot connect to the server if the client_hash_check is on
Feefty Posted October 1, 2012 Posted October 1, 2012 works great but if i use different client it says my client is not latest or something. how can you change that to something else? make sure that different client include this WDGForceClientHashPacket.dll on his diff. or else it cannot connect to the server if the client_hash_check is on what i mean is i want to change the "error" that client given if they're using different client.
Vianna Posted October 1, 2012 Posted October 1, 2012 works great but if i use different client it says my client is not latest or something. how can you change that to something else? make sure that different client include this WDGForceClientHashPacket.dll on his diff. or else it cannot connect to the server if the client_hash_check is on what i mean is i want to change the "error" that client given if they're using different client. It's somewhere in msgstringtable.txt
GM Takumirai Posted October 6, 2012 Posted October 6, 2012 how to reconfigure this client hash?.. i also want to know where to edit if i want other hash code in hex??.. is there a complete guide for this?.. guide on how to set up a new hex code of md5 hash?
Brynner Posted October 6, 2012 Posted October 6, 2012 how to reconfigure this client hash?.. i also want to know where to edit if i want other hash code in hex??.. is there a complete guide for this?.. guide on how to set up a new hex code of md5 hash? i think there is no other way to change the md5 hash code.
GM Takumirai Posted October 6, 2012 Posted October 6, 2012 i have a question how to get the md5 hash hexed code of client 05 15 2012
Bin4ry Posted October 6, 2012 Posted October 6, 2012 (edited) @Gm Takumirai, every client you hexed has different md5, to check yours you can use tool like this: http://www.winmd5.com/ Edited October 6, 2012 by darristan
nanakiwurtz Posted October 6, 2012 Posted October 6, 2012 My rA tool already has MD5 hash checker too
GM Takumirai Posted October 6, 2012 Posted October 6, 2012 Tnx for thw response darris @nana what is the link of your tools?
KaitoKid Posted October 31, 2012 Posted October 31, 2012 This feature is useful to avoid client modifications.
Recommended Posts