Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/08/2021 in all areas

  1. Client: https://mega.nz/#!S5gFESwJ!xeWvJiXVZgqg8VKg5D-hfUjqAVnh6tP5aPZpMbswNRs Unpacker: https://mega.nz/#!egRAhTwJ!FbqglPk_4q4L3lUcAccH7-IrLl3VYN95Qq4T-Xk_hKk Files: https://mega.nz/#!r8YUwI4R!xwDe6z-Fh3qCLTZg81IY7dFGwDiuUcxTBnxvmG4UxuY Source: https://mega.nz/#!T8ZijRhS!o6lRP8LDMt3xX1YoiDZRjk0s4Kv1CxoTrT9qFUlP6pQ Extra Tools: https://mega.nz/#!s08EgIRQ!AdrAVKBZD7bULPb7QEokLSnxs2NrjPkn5vQaNhrYVoY Libs: https://mega.nz/#!91sygDhT!IC8MGXMMtrL2t_t5BxD_DAxTaDbwvd34_9olgKd2bCE
    1 point
  2. Go to file root/intrologin.py Look for: "WRONGPWD" : localeInfo.LOGIN_FAILURE_WRONG_PASSWORD, Add this bellow: "HWBANNED" : "Login from this computer has been blocked", Client source Go to UserInterface/AccountConnector.cpp Look for: bool CAccountConnector::__AuthState_RecvEmpty() { BYTE byEmpty; Recv (sizeof (BYTE), &byEmpty); return true; } Add this bellow: //hardware ban revised #include <intrin.h> #include <Iphlpapi.h> #pragma comment(lib, "iphlpapi.lib") const char* GetMacAddress() { PIP_ADAPTER_INFO AdapterInfo; DWORD dwBufLen = sizeof(AdapterInfo); char *mac_addr = (char*)malloc(17); AdapterInfo = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO)); if (!AdapterInfo) { return ""; } if (GetAdaptersInfo(AdapterInfo, &dwBufLen) == ERROR_BUFFER_OVERFLOW) { AdapterInfo = (IP_ADAPTER_INFO *)malloc(dwBufLen); if (!AdapterInfo) { return ""; } } CHAR _MACFORMAT[] = { '%', '0', '2', 'X', ':', '%', '0', '2', 'X', ':', '%', '0', '2', 'X', ':', '%', '0', '2', 'X', ':', '%', '0', '2', 'X', ':', '%', '0', '2', 'X', 0x0 }; //"%02X:%02X:%02X:%02X:%02X:%02X" if (GetAdaptersInfo(AdapterInfo, &dwBufLen) == NO_ERROR) { PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; do { sprintf(mac_addr, _MACFORMAT, pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]); return mac_addr; pAdapterInfo = pAdapterInfo->Next; } while (pAdapterInfo); } free(AdapterInfo); return NULL; } //hardware ban revised Inside: bool CAccountConnector::__AuthState_RecvPhase() Look for: strncpy (LoginPacket.name, m_strID.c_str(), ID_MAX_NUM); strncpy (LoginPacket.pwd, m_strPassword.c_str(), PASS_MAX_NUM); Add this bellow: //hardware ban revised strncpy(LoginPacket.cHWInfo, GetMacAddress(), sizeof(LoginPacket.cHWInfo) - 1); //hardware ban revised Look for: LoginPacket.name[ID_MAX_NUM] = '\0'; LoginPacket.pwd[PASS_MAX_NUM] = '\0'; Add this bellow: //hardware ban revised LoginPacket.cHWInfo[255] = '\0'; //hardware ban revised Go to file UserInterface/Packet.h Look for: typedef struct command_login3 { BYTE header; char name[ID_MAX_NUM + 1]; char pwd[PASS_MAX_NUM + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3; Replace with: typedef struct command_login3 { BYTE header; char name[ID_MAX_NUM + 1]; char pwd[PASS_MAX_NUM + 1]; DWORD adwClientKey[4]; char cHWInfo[255 + 1]; //hardware ban revised } TPacketCGLogin3; Game source Go to file game/Packet.h Look for: typedef struct command_login3 { BYTE header; char login[LOGIN_MAX_LEN + 1]; char passwd[PASSWD_MAX_LEN + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3; Replace with: typedef struct command_login3 { BYTE header; char login[LOGIN_MAX_LEN + 1]; char passwd[PASSWD_MAX_LEN + 1]; DWORD adwClientKey[4]; char cHWInfo[255 + 1]; // hardware ban revised } TPacketCGLogin3; Go to file game/input_auth.cpp Look for: if (false == FN_IS_VALID_LOGIN_STRING (login)) { sys_log (0, "InputAuth::Login : IS_NOT_VALID_LOGIN_STRING(%s) desc %p", login, get_pointer (d)); LoginFailure (d, "NOID"); return; } Add this bellow: //hardware ban revised char query[1024]; snprintf(query, sizeof(query),"SELECT hwid FROM account.hwid_ban WHERE hwid = '%s'", pinfo->cHWInfo); std::auto_ptr<SQLMsg> execquery(DBManager::instance().DirectQuery(query)); if (execquery->Get()->uiNumRows >= 1) { LoginFailure(d, "HWBANNED"); return; } //hardware ban revised Go to file game/db.cpp Look for: char szQuery[1024]; snprintf (szQuery, sizeof (szQuery), "UPDATE account SET last_play=NOW() WHERE id=%u", dwID); std::auto_ptr<SQLMsg> msg (DBManager::instance().DirectQuery (szQuery)); Add this bellow: //hardware ban revised char szHwid[255 * 2 + 1]; DBManager::instance().EscapeString(szHwid, sizeof(szHwid), pinfo->cHWInfo, strlen(pinfo->cHWInfo)); char szQuery2[1024]; snprintf (szQuery2, sizeof (szQuery2), "UPDATE account SET hwid='%s' WHERE id=%u", szHwid, dwID); //Updates hwid of the account std::auto_ptr<SQLMsg> msg2 (DBManager::instance().DirectQuery (szQuery2)); //hardware ban revised Run this queries inside account database: DROP TABLE IF EXISTS `hwid_ban`; CREATE TABLE `hwid_ban` ( `id` int(11) NOT NULL AUTO_INCREMENT, `hwid` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ALTER TABLE `account` ADD COLUMN `hwid` text DEFAULT NULL;
    1 point
  3. shop offline com search shop print do funcionamento abaixo. offlineshop + search.7z
    1 point
  4. I think it will be useful to someone Link: http://www.mediafire.com/file/5o471vah86lavd7/3X+Full+Set.rar Scan: https://www.virustotal.com/#/file/f8be842036c2421c131e5dfce23eff9fb4937cef5cd672d7515dbaae3edfe2f7/detection Will anyone help me with this topic? https://tlthings.net/topic/1451-can-anyone-help-me-decipher-this-customer/?tab=comments#comment-6260
    0 points
  5. Boas Um pack com armaduras e também tem armadura para lycan Imagem link Fonte Turkommo
    0 points
×
×
  • Create New...