En Çok Reaksiyon Alan Mesajlar
toparlamak gerekirse sistem eklenince bi kişi binbirçeşit mac adresi ile oyuna girebilir kişi yasaklansa dahi sadece o anki mac adresi ban list girdisi olur sistem sadece ban tablosundaki mac adreslerinin girişlerini yasaklar bi multiple olupta yasaklanan oyuncunun karakter ismi maca bağlanırsa ozaman s*çar.
MAC BAN SYSTEM: ASD SENİN HWİD NEDİR GÜZELİM
ASD: AHA BU 1454545541(YANLIŞ MAC BAN VERDİM KEKOYA)
MAC BAN SYSTEM:MAC BANINA BAKILMAKSIZIN KARAKTER İSMİNİN MAC BAN LİSTESİNDE GİRDİSİ VAR DE S*KTR GİT LO OYUNDAN
sistem hwid banda mac adresi yerine kişinin ismine göre banlama yapsın herkez mutlu mesut yaşasın
A KİŞİSİ "B" ADLI ÇARIYLA HWİD LİSTESİNE "ASD" HWİDİ ile kayıt olur ve bi olaydan dolayı hwid ban yer
bu A KİŞİSİ BAŞKA PC DEN O HESABA GİRMEYE ÇALIŞTIĞINDA başka bi hwid üzerinden banı sorgulandığı için GİRMEYE ÇALIŞTIĞI PC NİN YENİ HWİD Adresi eskisiyle yer değiştirip yeni pc den o hesaba girmesi tekrar engelleniyormu ?
Öğeyi görmek için üye olmalısınız.
teşekkürler
A KİŞİSİ "B" ADLI ÇARIYLA HWİD LİSTESİNE "ASD" HWİDİ ile kayıt olur ve bi olaydan dolayı hwid ban yer
bu A KİŞİSİ BAŞKA PC DEN O HESABA GİRMEYE ÇALIŞTIĞINDA başka bi hwid üzerinden banı sorgulandığı için GİRMEYE ÇALIŞTIĞI PC NİN YENİ HWİD Adresi eskisiyle yer değiştirip yeni pc den o hesaba girmesi tekrar engelleniyormu ?
bu A KİŞİSİ BAŞKA PC DEN O HESABA GİRMEYE ÇALIŞTIĞINDA başka bi hwid üzerinden banı sorgulandığı için GİRMEYE ÇALIŞTIĞI PC NİN YENİ HWİD Adresi eskisiyle yer değiştirip yeni pc den o hesaba girmesi tekrar engelleniyormu ?
Son düzenleme:
Matematiğin önemiA KİŞİSİ "B" ADLI ÇARIYLA HWİD LİSTESİNE "ASD" HWİDİ ile kayıt olur ve bi olaydan dolayı hwid ban yer
bu A KİŞİSİ BAŞKA PC DEN O HESABA GİRMEYE ÇALIŞTIĞINDA başka bi hwid üzerinden banı sorgulandığı için GİRMEYE ÇALIŞTIĞI PC NİN YENİ HWİD Adresi eskisiyle yer değiştirip yeni pc den o hesaba girmesi tekrar engelleniyormu ?
A KİŞİSİ "B" ADLI ÇARIYLA HWİD LİSTESİNE "ASD" HWİDİ ile kayıt olur ve bi olaydan dolayı hwid ban yer
bu A KİŞİSİ BAŞKA PC DEN O HESABA GİRMEYE ÇALIŞTIĞINDA başka bi hwid üzerinden banı sorgulandığı için GİRMEYE ÇALIŞTIĞI PC NİN YENİ HWİD Adresi eskisiyle yer değiştirip yeni pc den o hesaba girmesi tekrar engelleniyormu ?
Forumda olmadığını farkettim. Kurulumu basit, uygulaması pratik bir sistemdir.
HWID_List a düşen hwid'leri banned_hwid_list taşıdığınızı engellenir. IP ban gibi değildir. Modemin fişini çekmek fayda etmez
Game/src girelim
packet.h açın.
Aşşağıdakini aratın
Bu şekilde değiştirinKod:typedef struct command_login3 { BYTE header; char login[LOGIN_MAX_LEN + 1]; char passwd[PASSWD_MAX_LEN + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3;
db.cpp açınKod: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]; // HW INFO } TPacketCGLogin3
Aşşağıdakini aratın
Altına ekleyinKod:if (nPasswordDiff) { LoginFailure(d, "WRONGPWD"); sys_log(0, " WRONGPWD"); M2_DELETE(pinfo); }
Aşşağıdakini aratınKod:else if (!strcmp(szStatus, "HW_BAN")) { LoginFailure(d, "HWBANNED"); sys_log(0, " HWBANNED"); M2_DELETE(pinfo); }
Client source geçelimKod: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) ); Altına ekleyin char szHwid[255 * 2 + 1]; DBManager::instance().EscapeString(szHwid, sizeof(szHwid), pinfo->cHWInfo, strlen(pinfo->cHWInfo)); //std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("INSERT INTO account.hwid_list (login, hwid) VALUES('%s', '%s')", pinfo->login, szHwid)); std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("INSERT IGNORE INTO account.hwid_list SET login='%s', hwid='%s', date=NOW()", pinfo->login, szHwid)); std::auto_ptr<SQLMsg> _hwid_msg(DBManager::instance().DirectQuery("SELECT hwid FROM account.banned_hwid_list")); if (!_hwid_msg->uiSQLErrno) { if (_hwid_msg->Get()->uiNumRows) { while (MYSQL_ROW row_hwid = mysql_fetch_row(_hwid_msg->Get()->pSQLResult)) { if (!strcmp(row_hwid[0], pinfo->cHWInfo)) { LoginFailure(d, "HWBANNED"); sys_log(0, " HWBANNED"); M2_DELETE(pinfo); } } } }
packet.h açın
Aşşağıdakini aratın
Bu şekilde değiştirinKod:typedef struct command_login3 { BYTE header; char name[ID_MAX_NUM + 1]; char pwd[PASS_MAX_NUM + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3;
accountconnector.cpp açınKod: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]; // HW INFO } TPacketCGLogin3;
Aşşağıdaki kodu #include ların arasına ekleyin.
Aşşağıdakini aratınKod:#include <intrin.h> #include <Iphlpapi.h> #pragma comment(lib, "iphlpapi.lib")
Altına ekleyin.Kod:bool CAccountConnector::__AuthState_RecvEmpty() { BYTE byEmpty; Recv(sizeof(BYTE), &byEmpty); return true; }
Aşşağıdakini aratınKod: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) { //printf("Error allocating memory needed to call GetAdaptersinfo\n"); return ""; } // Make an initial call to GetAdaptersInfo to get the necessary size into the dwBufLen variable if (GetAdaptersInfo(AdapterInfo, &dwBufLen) == ERROR_BUFFER_OVERFLOW) { AdapterInfo = (IP_ADAPTER_INFO *)malloc(dwBufLen); if (!AdapterInfo) { //printf("Error allocating memory needed to call GetAdaptersinfo\n"); 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;// Contains pointer to current adapter info 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); }
Altına ekleyinKod:strncpy(LoginPacket.pwd, m_strPassword.c_str(), PASS_MAX_NUM);
Aşşağıdakini aratınKod:strncpy(LoginPacket.cHWInfo, GetMacAddress(), sizeof(LoginPacket.cHWInfo) - 1);
Altına ekleyinKod:LoginPacket.pwd[PASS_MAX_NUM] = '\0';
Root.eix-epk açın.Kod:LoginPacket.cHWInfo[255] = '\0';
root/intrologin.py girin
Aşşağıdakini aratın
Altına ekleyinKod:"AGELIMIT" : localeInfo.LOGIN_FAILURE_SHUTDOWN_TIME,
Mysql'de kayıt table açmak gerekiyor. Bu kodu query olarak okutun. Kod çalışmaz ise ENGINE ve CHARSET bölümünü database'in varsayılanına göre ayarlayın.Kod:"HWBANNED" : "Bu bilgisayardan erişim engellendi.",
Kod:SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `hwid_list`; CREATE TABLE `hwid_list` ( `login` varchar(30) DEFAULT NULL, `hwid` varchar(255) NOT NULL DEFAULT '', `date` datetime DEFAULT NULL, PRIMARY KEY (`hwid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin5; SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `banned_hwid_list`; CREATE TABLE `banned_hwid_list` ( `hwid` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin5;
Var mı böyle bir sorun ?
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 13
- Görüntüleme
- 744
- Cevaplar
- 7
- Görüntüleme
- 429
- Cevaplar
- 12
- Görüntüleme
- 810

