Active Member Draveniou1 715 Posted January 26, 2023 Active Member Share Posted January 26, 2023 (edited) Hello friends. When I had removed the sequence/pong some players had connection with different metin2client.exe now players can't log in from different clients and problems occur my problems are solved thank you we have done a test before the post is made -------------------------------- From 512 you can make 2048 with few changes to the code I suggest 512 and not 2048 he cannot break the key Players cannot connect to a different client or find the key -------------------------------- OPEN SERVER/CLIENT service.h/locale_inc.h ADD: #define BLOCK_LOGIN_FROM_ANOTHER_CLIENT #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT #define NEW_PROTECT_KEYS 480 + 32 #endif OPEN PACKET client/server SEARCH: command_login3 ADD: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT char blockclient[NEW_PROTECT_KEYS]; #endif OPEN server INPUT_AUTH.cpp SEARCH: bool Login_IsInChannelService(const char* c_login) ADD AFTER: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT extern const char block_client[NEW_PROTECT_KEYS]; const char block_client[NEW_PROTECT_KEYS] = { 0xf2, 0x42, 0x8a, 0xa1, 0x29, 0x7e, 0xfa, 0xd9, 0x19, 0xbc, 0xe5, 0x4c, 0x63, 0xf0, 0x94, 0x33, 0xf1, 0x37, 0x47, 0xf9, 0xc9, 0x43, 0x78, 0x2b, 0x9b, 0x2a, 0x48, 0x2, 0x35, 0x34, 0xa5, 0x56, 0xc1, 0x7b, 0x8, 0x9c, 0x38, 0x72, 0xc8, 0x99, 0x3f, 0x1c, 0xd7, 0x22, 0x66, 0xad, 0x40, 0x48, 0x76, 0xd1, 0x5e, 0xf, 0x77, 0x9, 0x1b, 0x52, 0xfb, 0x7e, 0xaf, 0x59, 0xdb, 0x59, 0x95, 0x5c, 0x18, 0x44, 0xd0, 0xde, 0x5e, 0xdb, 0x86, 0x7f, 0xb7, 0x1c, 0xf2, 0x3a, 0xd2, 0x67, 0x32, 0x75, 0x80, 0x1b, 0x8e, 0xd1, 0x9, 0xc9, 0xd6, 0x44, 0x2e, 0x5d, 0x47, 0x47, 0xf9, 0xd, 0xbf, 0xa9, 0xc3, 0x8e, 0xc2, 0x2b, 0x69, 0x10, 0x29, 0x57, 0xb7, 0xaa, 0xb, 0x4c, 0x29, 0x7, 0xb1, 0x5f, 0x99, 0xfd, 0x7b, 0x4, 0xc5, 0x44, 0xe6, 0xd4, 0xa7, 0x71, 0x12, 0x5a, 0x11, 0xc5, 0xa2, 0x3d, 0x11, 0x3e, 0x44, 0x2f, 0x3e, 0x98, 0x96, 0xab, 0x12, 0x14, 0xf0, 0x5c, 0xa6, 0xb, 0xa6, 0x0, 0x26, 0x1, 0x87, 0x67, 0xf3, 0x78, 0xc9, 0xd2, 0x9b, 0xd2, 0xd4, 0x17, 0x7d, 0xc3, 0xaa, 0x78, 0x8a, 0xf1, 0xf4, 0x80, 0xfd, 0x31, 0x6f, 0xb5, 0xa4, 0x61, 0x2d, 0x75, 0x30, 0xa5, 0x4d, 0x69, 0xfd, 0xfc, 0x3f, 0x68, 0x9b, 0x87, 0xb6, 0xa5, 0x7b, 0x7, 0x2, 0x4d, 0x65, 0xb1, 0x8d, 0xa1, 0x68, 0x6e, 0xd1, 0x64, 0x23, 0x3, 0x39, 0x76, 0x9f, 0xbb, 0x6b, 0x5f, 0xc4, 0x92, 0x60, 0x4a, 0x3, 0x7e, 0xe3, 0x8d, 0x19, 0xb2, 0x9d, 0x76, 0x2a, 0xf, 0x8f, 0x82, 0x1c, 0xba, 0x3a, 0xbc, 0x74, 0x97, 0xd1, 0x72, 0xa8, 0x5b, 0x6b, 0x58, 0x36, 0xb6, 0xa9, 0xe0, 0x8f, 0x3e, 0xf2, 0x65, 0x22, 0xd2, 0x31, 0x10, 0x1, 0xfd, 0xcf, 0x0, 0x4, 0xc2, 0xb6, 0x5, 0xfa, 0x58, 0xb6, 0xd4, 0xa1, 0xaf, 0xc0, 0xe8, 0xe3, 0xaa, 0xcb, 0x83, 0x3e, 0x2e, 0xa, 0x48, 0xc8, 0xcf, 0xf5, 0x1, 0x2c, 0x2e, 0x7e, 0x7b, 0x30, 0xb9, 0x67, 0xe9, 0xa, 0xeb, 0x1c, 0x92, 0x74, 0x72, 0xf3, 0x46, 0x4d, 0xe6, 0xb3, 0x74, 0x34, 0x19, 0x59, 0x4e, 0x45, 0x6f, 0xa6, 0xfd, 0x6d, 0xf5, 0x8, 0x3f, 0xaf, 0xf2, 0xa6, 0xed, 0xfc, 0x1c, 0x15, 0xb3, 0xdd, 0x4b, 0x95, 0x23, 0x58, 0x6c, 0xec, 0x1f, 0x20, 0xbc, 0x80, 0x22, 0x90, 0xbc, 0x8f, 0x68, 0x11, 0x90, 0x7c, 0x5b, 0xfb, 0x7f, 0x49, 0x7d, 0x15, 0xad, 0x6a, 0xe5, 0x5d, 0xa8, 0x52, 0x15, 0x33, 0xa0, 0x96, 0x55, 0x2d, 0x60, 0x8e, 0xa7, 0x11, 0x33, 0x31, 0x57, 0xb8, 0x23, 0x4d, 0x9d, 0xb2, 0xc2, 0xa, 0x4e, 0xa4, 0x25, 0xec, 0xba, 0xa8, 0xa6, 0xc, 0xa3, 0xbd, 0x44, 0x66, 0x9e, 0xec, 0x9c, 0xf2, 0xa1, 0x74, 0x36, 0xf3, 0x21, 0xd2, 0xe2, 0x53, 0xd3, 0x66, 0x4c, 0x85, 0x6a, 0xcf, 0x4d, 0xf4, 0x44, 0x91, 0x56, 0x31, 0x3, 0x6e, 0xb1, 0x4e, 0x4c, 0xa4, 0x84, 0x92, 0xa6, 0x35, 0x71, 0x69, 0xc4, 0x37, 0xf2, 0x87, 0x40, 0x84, 0x44, 0x1a, 0xc9, 0x84, 0xf0, 0x1a, 0x1a, 0xca, 0x2a, 0xbc, 0x77, 0x97, 0x3, 0x75, 0x6a, 0xd6, 0xd1, 0xde, 0x67, 0x1c, 0xbf, 0x9b, 0xc7, 0x1c, 0xf6, 0xcd, 0xfa, 0x20, 0x5d, 0xd9, 0xe2, 0xd2, 0x75, 0x21, 0xc7, 0xde, 0x5c, 0x50, 0x5c, 0x7, 0x17, 0xe6, 0x93, 0x4b, 0xc3, 0xd2, 0xa3, 0xd, 0x27, 0xb2, 0x71, 0x45, 0x2, 0xb9, 0x33, 0x56, 0xac, 0xba, 0x47, 0xc8, 0xa, 0x1a, 0x4e, 0xa4, 0x55, 0x3, 0x77, 0x7, 0x6a, 0x69, 0x90, 0x3c, 0x9a, 0xb1, 0x56, 0x3e, 0x35, 0xeb, 0xf9, 0x5d, 0x29, 0xc6, 0xb0, 0xb6, 0xa7, 0xdb, 0x91, 0xd0, 0x0, 0xb7, 0xf8, 0x0, 0x6a, 0x60, 0x19, }; #endif NEW SEARCH: if (DESC_MANAGER::instance().FindByLoginName(login)) { LoginFailure(d, "ALREADY"); return; } ADD AFTER: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT char blockclient[NEW_PROTECT_KEYS]; strlcpy(blockclient, pinfo->blockclient, sizeof(blockclient)); std::string block = block_client; if (NULL != block.compare(blockclient)) { LoginFailure(d, "SHUTDOWN"); return; } #endif ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ LETS GO CLIENT: OPEN AccountConnector.cpp SEARCH: void CAccountConnector::SetHandler(PyObject* poHandler) { m_poHandler = poHandler; } ADD AFTER: //#ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT // NO #IFDEF NO #IFDEF NO #IFDEF // CHAR __PROTECTCLIENT__[NEW_PROTECT_KEYS] = { 0xf2, 0x42, 0x8a, 0xa1, 0x29, 0x7e, 0xfa, 0xd9, 0x19, 0xbc, 0xe5, 0x4c, 0x63, 0xf0, 0x94, 0x33, 0xf1, 0x37, 0x47, 0xf9, 0xc9, 0x43, 0x78, 0x2b, 0x9b, 0x2a, 0x48, 0x2, 0x35, 0x34, 0xa5, 0x56, 0xc1, 0x7b, 0x8, 0x9c, 0x38, 0x72, 0xc8, 0x99, 0x3f, 0x1c, 0xd7, 0x22, 0x66, 0xad, 0x40, 0x48, 0x76, 0xd1, 0x5e, 0xf, 0x77, 0x9, 0x1b, 0x52, 0xfb, 0x7e, 0xaf, 0x59, 0xdb, 0x59, 0x95, 0x5c, 0x18, 0x44, 0xd0, 0xde, 0x5e, 0xdb, 0x86, 0x7f, 0xb7, 0x1c, 0xf2, 0x3a, 0xd2, 0x67, 0x32, 0x75, 0x80, 0x1b, 0x8e, 0xd1, 0x9, 0xc9, 0xd6, 0x44, 0x2e, 0x5d, 0x47, 0x47, 0xf9, 0xd, 0xbf, 0xa9, 0xc3, 0x8e, 0xc2, 0x2b, 0x69, 0x10, 0x29, 0x57, 0xb7, 0xaa, 0xb, 0x4c, 0x29, 0x7, 0xb1, 0x5f, 0x99, 0xfd, 0x7b, 0x4, 0xc5, 0x44, 0xe6, 0xd4, 0xa7, 0x71, 0x12, 0x5a, 0x11, 0xc5, 0xa2, 0x3d, 0x11, 0x3e, 0x44, 0x2f, 0x3e, 0x98, 0x96, 0xab, 0x12, 0x14, 0xf0, 0x5c, 0xa6, 0xb, 0xa6, 0x0, 0x26, 0x1, 0x87, 0x67, 0xf3, 0x78, 0xc9, 0xd2, 0x9b, 0xd2, 0xd4, 0x17, 0x7d, 0xc3, 0xaa, 0x78, 0x8a, 0xf1, 0xf4, 0x80, 0xfd, 0x31, 0x6f, 0xb5, 0xa4, 0x61, 0x2d, 0x75, 0x30, 0xa5, 0x4d, 0x69, 0xfd, 0xfc, 0x3f, 0x68, 0x9b, 0x87, 0xb6, 0xa5, 0x7b, 0x7, 0x2, 0x4d, 0x65, 0xb1, 0x8d, 0xa1, 0x68, 0x6e, 0xd1, 0x64, 0x23, 0x3, 0x39, 0x76, 0x9f, 0xbb, 0x6b, 0x5f, 0xc4, 0x92, 0x60, 0x4a, 0x3, 0x7e, 0xe3, 0x8d, 0x19, 0xb2, 0x9d, 0x76, 0x2a, 0xf, 0x8f, 0x82, 0x1c, 0xba, 0x3a, 0xbc, 0x74, 0x97, 0xd1, 0x72, 0xa8, 0x5b, 0x6b, 0x58, 0x36, 0xb6, 0xa9, 0xe0, 0x8f, 0x3e, 0xf2, 0x65, 0x22, 0xd2, 0x31, 0x10, 0x1, 0xfd, 0xcf, 0x0, 0x4, 0xc2, 0xb6, 0x5, 0xfa, 0x58, 0xb6, 0xd4, 0xa1, 0xaf, 0xc0, 0xe8, 0xe3, 0xaa, 0xcb, 0x83, 0x3e, 0x2e, 0xa, 0x48, 0xc8, 0xcf, 0xf5, 0x1, 0x2c, 0x2e, 0x7e, 0x7b, 0x30, 0xb9, 0x67, 0xe9, 0xa, 0xeb, 0x1c, 0x92, 0x74, 0x72, 0xf3, 0x46, 0x4d, 0xe6, 0xb3, 0x74, 0x34, 0x19, 0x59, 0x4e, 0x45, 0x6f, 0xa6, 0xfd, 0x6d, 0xf5, 0x8, 0x3f, 0xaf, 0xf2, 0xa6, 0xed, 0xfc, 0x1c, 0x15, 0xb3, 0xdd, 0x4b, 0x95, 0x23, 0x58, 0x6c, 0xec, 0x1f, 0x20, 0xbc, 0x80, 0x22, 0x90, 0xbc, 0x8f, 0x68, 0x11, 0x90, 0x7c, 0x5b, 0xfb, 0x7f, 0x49, 0x7d, 0x15, 0xad, 0x6a, 0xe5, 0x5d, 0xa8, 0x52, 0x15, 0x33, 0xa0, 0x96, 0x55, 0x2d, 0x60, 0x8e, 0xa7, 0x11, 0x33, 0x31, 0x57, 0xb8, 0x23, 0x4d, 0x9d, 0xb2, 0xc2, 0xa, 0x4e, 0xa4, 0x25, 0xec, 0xba, 0xa8, 0xa6, 0xc, 0xa3, 0xbd, 0x44, 0x66, 0x9e, 0xec, 0x9c, 0xf2, 0xa1, 0x74, 0x36, 0xf3, 0x21, 0xd2, 0xe2, 0x53, 0xd3, 0x66, 0x4c, 0x85, 0x6a, 0xcf, 0x4d, 0xf4, 0x44, 0x91, 0x56, 0x31, 0x3, 0x6e, 0xb1, 0x4e, 0x4c, 0xa4, 0x84, 0x92, 0xa6, 0x35, 0x71, 0x69, 0xc4, 0x37, 0xf2, 0x87, 0x40, 0x84, 0x44, 0x1a, 0xc9, 0x84, 0xf0, 0x1a, 0x1a, 0xca, 0x2a, 0xbc, 0x77, 0x97, 0x3, 0x75, 0x6a, 0xd6, 0xd1, 0xde, 0x67, 0x1c, 0xbf, 0x9b, 0xc7, 0x1c, 0xf6, 0xcd, 0xfa, 0x20, 0x5d, 0xd9, 0xe2, 0xd2, 0x75, 0x21, 0xc7, 0xde, 0x5c, 0x50, 0x5c, 0x7, 0x17, 0xe6, 0x93, 0x4b, 0xc3, 0xd2, 0xa3, 0xd, 0x27, 0xb2, 0x71, 0x45, 0x2, 0xb9, 0x33, 0x56, 0xac, 0xba, 0x47, 0xc8, 0xa, 0x1a, 0x4e, 0xa4, 0x55, 0x3, 0x77, 0x7, 0x6a, 0x69, 0x90, 0x3c, 0x9a, 0xb1, 0x56, 0x3e, 0x35, 0xeb, 0xf9, 0x5d, 0x29, 0xc6, 0xb0, 0xb6, 0xa7, 0xdb, 0x91, 0xd0, 0x0, 0xb7, 0xf8, 0x0, 0x6a, 0x60, 0x19, }; //#endif SEARCH: strncpy(LoginPacket.pwd, m_strPassword.c_str(), PASS_MAX_NUM); ADD AFTER: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT strncpy(LoginPacket.blockclient, __PROTECTCLIENT__, sizeof(LoginPacket.blockclient) - 32); #endif SEARCH: LoginPacket.pwd[PASS_MAX_NUM] = '\0'; ADD AFTER: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT LoginPacket.blockclient[NEW_PROTECT_KEYS] = '\0'; #endif You can change the key from This is the hidden content, please Sign In or Sign Up 1) OPEN: sequence-generator 2) SEARCH: seq_gen.py 3) OPEN seq_gen.py with notepad++ NOW CHANGE CODES FROM 2048 TO 32 for i in range(2048): TO for i in range(32): 4) NOW CREATE KEY 5 ADD KEY IN): SERVER: #ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT extern const char block_client[NEW_PROTECT_KEYS]; const char block_client[NEW_PROTECT_KEYS] = AND CLIENT: //#ifdef BLOCK_LOGIN_FROM_ANOTHER_CLIENT // NO #IFDEF NO #IFDEF NO #IFDEF // CHAR __PROTECTCLIENT__[NEW_PROTECT_KEYS] = Edited January 26, 2023 by Draveniou1 19 1 1 1 Link to comment Share on other sites More sharing options...
Mafuyu 51 Posted January 28, 2023 Share Posted January 28, 2023 shouldnt it be enough if you have clientversion implemented, to use this in input_main: case HEADER_CG_MOVE: Move(ch, c_pData); if (g_bCheckClientVersion) { if (0 != g_stClientVersion.compare(d->GetClientVersion())) // @fixme103 (version > date) { ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("clientversion wrong!")); d->DelayedDisconnect(1); // @fixme103 (10); } } break; ? let them login with a different client, as soon as they tried to move ingame, they get kicked 1 Link to comment Share on other sites More sharing options...
Active Member Draveniou1 715 Posted January 28, 2023 Author Active Member Share Posted January 28, 2023 (edited) 1 hour ago, Mafuyu said: shouldnt it be enough if you have clientversion implemented, to use this in input_main: case HEADER_CG_MOVE: Move(ch, c_pData); if (g_bCheckClientVersion) { if (0 != g_stClientVersion.compare(d->GetClientVersion())) // @fixme103 (version > date) { ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("clientversion wrong!")); d->DelayedDisconnect(1); // @fixme103 (10); } } break; ? let them login with a different client, as soon as they tried to move ingame, they get kicked No Can the person find the game version I don't recommend it -> g_bCheckClientVersion Better is what I made so there are no bypass 0xf2, 0x42, 0x8a, 0xa1, 0x29, 0x7e, 0xfa, 0xd9, 0x19, 0xbc, 0xe5, 0x4c, 0x63, 0xf0, 0x94, 0x33, 0xf1, 0x37, 0x47, 0xf9, 0xc9, 0x43, 0x78, 0x2b, 0x9b, 0x2a, 0x48, 0x2, 0x35, 0x34, 0xa5, 0x56, 0xc1, 0x7b, 0x8, 0x9c, 0x38 ........................... So far we have not been able to find the sequence key .... The key cannot be found ----------------- ----------- ------- Version find key https://metin2.download/picture/2Vgo40xLqUGXkEa1HTi9bx5kad4JixZW/.png Edited January 28, 2023 by Metin2 Dev Core X - External 2 Internal 1 1 Link to comment Share on other sites More sharing options...
PetePeter 36 Posted January 28, 2023 Share Posted January 28, 2023 So you remove _improved_packet_encryption_ which include sequence system already just to make a new one from scratch ? What's the benefit of that instead of use packet encryption ? Link to comment Share on other sites More sharing options...
Honorable Member Mali 41811 Posted January 28, 2023 Honorable Member Share Posted January 28, 2023 4 minutes ago, PetePeter said: So you remove _improved_packet_encryption_ which include sequence system already just to make a new one from scratch ? What's the benefit of that instead of use packet encryption ? he is a troll, just look his old messages 1 2 Link to comment Share on other sites More sharing options...
Active Member Draveniou1 715 Posted January 28, 2023 Author Active Member Share Posted January 28, 2023 14 minutes ago, PetePeter said: So you remove _improved_packet_encryption_ which include sequence system already just to make a new one from scratch ? What's the benefit of that instead of use packet encryption ? Because there are many problems with normal locking there are several problems 11 minutes ago, Mali said: he is a troll, just look his old messages They were tested before I post it where exactly did you see the troll? I see big differences in client locking 4 1 Link to comment Share on other sites More sharing options...
Active Member Helia01 2130 Posted January 31, 2023 Active Member Share Posted January 31, 2023 I haven't laughed like that in a long time 1 Link to comment Share on other sites More sharing options...
Active Member Draveniou1 715 Posted January 31, 2023 Author Active Member Share Posted January 31, 2023 2 hours ago, Helia01 said: I haven't laughed like that in a long time We are trying to find the key The key cannot be found you can find me the key and then come laugh we have already tested on big server before publishing here 2 Link to comment Share on other sites More sharing options...
PetePeter 36 Posted January 31, 2023 Share Posted January 31, 2023 4 minutes ago, Draveniou1 said: We are trying to find the key The key cannot be found you can find me the key and then come laugh we have already tested on big server before publishing here Impossible than you are not trolling lol Link to comment Share on other sites More sharing options...
Active Member Draveniou1 715 Posted January 31, 2023 Author Active Member Share Posted January 31, 2023 23 minutes ago, PetePeter said: Impossible than you are not trolling lol it has been tested before I publish it What is the difference between sequence and this here? Still some are trying to find the key try to find the key and come tell me if troll I am waiting Link to comment Share on other sites More sharing options...
PetePeter 36 Posted January 31, 2023 Share Posted January 31, 2023 23 minutes ago, Draveniou1 said: it has been tested before I publish it What is the difference between sequence and this here? Still some are trying to find the key try to find the key and come tell me if troll I am waiting If no difference why using this ? You don't get the point I think Link to comment Share on other sites More sharing options...
Active Member Draveniou1 715 Posted February 1, 2023 Author Active Member Share Posted February 1, 2023 14 hours ago, PetePeter said: If no difference why using this ? You don't get the point I think The sequence causes problems when I had a sequence the client would close and the players would complain when I removed the sequence players could login from a different client and bug the game like bypassing the anti-hack my problem is solved , now players cannot connect from a different client Link to comment Share on other sites More sharing options...
Recommended Posts