[ALINTI]-Hardware ban sistemi [C++,python]

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 77

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar;

Sistem tanıtımı: Her bir bilgisayar için 1 adet (hwid ıd) oluşturuyor.Bu sistem Bağlanmasını istemediğiniz bir kullanıcıyı tamamen engelliyor.
Kullanıcıların hwid adreslerini navicat> player>account bölümünde hwid ıd yazan kısımdan erişebilirsiniz.

C++-PYTHON-SQL

Anlatım+dosyalar için;[/FONT]
Link;

Virustotal;

Sql den görüntü;
911f52687b.png

Sistem ; pasha37 (Koray) kodlama.
Alıntı Link için
Konu benim ile ilgili değildir,bazı arkadaşlarımızın işini göreceğini tahmin ettiğim için paylaşmış bulunmaktayım...


Metin2 Lobby'de Donanım Ban Sistemi Geliştirme Rehberi (C++ & Python)

Metin2 özel sunucularında güvenliği artırmak ve hile kullanımı gibi olumsuz durumları engellemek adına donanım ban sistemi oldukça etkili bir yöntemdir. Bu sistem sayesinde sunucuya bağlanan kullanıcıların sabit donanım kimlikleri (HWID) kontrol edilerek yetkisiz erişimler engellenebilir. Bu makalede C++ ve Python tabanlı bir donanım ban sistemi nasıl geliştirilir, hangi adımlarla entegre edilir, hangi güvenlik önlemleri alınmalıdır gibi konulara değineceğiz.

Donanım Ban Sistemi Nedir?
Donanım ban sistemi, kullanıcının bilgisayarına özel olan donanım özelliklerini (örneğin anakart seri numarası, disk numarası, CPU ID gibi) kullanarak bir tanımlayıcı oluşturur. Bu tanımlayıcı (HWID), kullanıcı sunucuya bağlandığında karşılaştırılır. Eğer bu değer listede mevcutsa kullanıcıya erişim verilir, değilse banlanabilir veya reddedilebilir.

Neden C++ ve Python Kullanılır?
C++ dilinin performansı, düşük seviyeli donanım erişimi ve doğrudan bellek yönetimi gibi özellikleri sayesinde sunucu tarafında donanım ban sisteminin hızlı ve stabil çalışması sağlanabilir. Python ise kolay okunabilirlik, modüler yapısı ve GUI uygulamaları geliştirme konusundaki kolaylığı sayesinde HWID çekme, listeleme ve yönetim gibi işlemler için idealdir.

HWID Çekimi C++ Tarafında
Sunucu tarafında, genellikle game_src kısmında kullanıcı bağlantı esnasında HWID çekilmesi gerekir. Bunun için Windows API veya Linux üzerinde WMI alternatifleri kullanılabilir. Örneğin C++ ile disk serial numarası, MAC adresi, CPU ID gibi veriler birleştirilerek benzersiz bir hash oluşturulabilir. Bu hash veritabanına (örneğin MySQL) kaydedilir ve kullanıcı tekrar bağlandığında karşılaştırma yapılır.

Python ile Yönetim Paneli Oluşturma
Python ile yazılmış bir GUI arayüz sayesinde adminler, HWID listelerini kolayca görüntüleyebilir, yeni kullanıcılar ekleyebilir ya da ban kaldırabilir. PyQt5 veya Tkinter gibi kütüphaneler bu amaçla kullanılabilir. Bu panel genellikle py root dosyaları arasında yer alır ve sunucu ile haberleşir.

Veritabanı Entegrasyonu
HWID verileri genellikle authserver veya gameserver tarafında tutulur. MySQL veritabanı kullanılıyorsa, yeni bir tablo oluşturulabilir. Örnek yapı şu şekildedir:

Table: hwid_bans
Columns: id, hwid, player_name, date, reason

Her oyuncu girişinde bu tabloya karşılaştırma yapılır ve uygun durumlarda ban işlemi uygulanır.

Python ile HWID Alımı Örneği
Kod:
[BR][/BR]import subprocess[BR][/BR]def get_hwid():[BR][/BR]    result = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()[BR][/BR]    return result[BR][/BR]


Bu fonksiyon ile UUID çekildikten sonra, bu değer sunucuya gönderilir ve karşılaştırma yapılır.

Sistem Güvenliği ve Hile Engelleme
HWID ban sistemi, hileci kullanıcıları engellemek için etkili bir yöntemdir. Ancak bazı kullanıcılar donanım kimliğini değiştirmeye veya taklit cihazlar kullanmaya çalışabilir. Bu yüzden ekstra korumalar, örneğin imza kontrolü, checksum karşılaştırması gibi yöntemlerle birlikte kullanılmalıdır.

Metin2 Sunucularında Uygulama Adımları
1. Client tarafında HWID alacak kod parçasını uiscript ile entegre edin.
2. Game serverda gelen HWID'yi karşılaştırın.
3. Eşleşmeyen kullanıcıları banlayın.
4. Python ile yönetim paneli oluşturun.

Sonuç
Donanım ban sistemi, Metin2 özel sunucularında güvenliği artırmak için güçlü bir araçtır. C++ ve Python dillerinin beraber kullanılmasıyla hem performans hem de kolay yönetim sağlanabilir. Bu sistem, doğru şekilde uygulandığında hile kullanımını ciddi anlamda azaltabilir.


Hardware Ban System Development Guide for Metin2 Lobby (C++ & Python)

To enhance security and prevent cheating in Metin2 private servers, implementing a hardware ban system proves to be highly effective. This system utilizes fixed hardware identifiers (HWID) of users attempting to connect to the server, blocking unauthorized access. In this article, we'll explore how to develop a hardware ban system based on C++ and Python, integration steps, and necessary security measures.

What is a Hardware Ban System?
A hardware ban system generates unique identifiers by collecting specific hardware properties of a user's computer, such as motherboard serial number, disk ID, CPU ID, etc. Upon connection to the server, this identifier (HWID) is compared with a stored list. If the value exists, access is granted; otherwise, the user may be banned or denied entry.

Why Use C++ and Python?
C++ offers high performance, low-level hardware access, and efficient memory management, making it ideal for fast and stable hardware ban functionality on the server side. Python, on the other hand, provides readability and ease of use, especially for tasks like HWID retrieval, listing, and administration through GUI applications.

Retrieving HWID in C++
On the server side, usually within the game_src area, the HWID should be retrieved during user login. Windows API or alternatives like WMI on Linux can be used. For instance, combining disk serial number, MAC address, CPU ID, etc., into a unique hash can be done in C++. This hash is saved to a database (like MySQL) and checked upon each reconnection.

Creating Admin Panel with Python
Using Python, an easy-to-use GUI interface allows admins to view HWID lists, add new users, or remove bans. Libraries like PyQt5 or Tkinter are suitable for this purpose. Such panels typically reside in py root files and communicate with the server.

Database Integration
HWID data is usually stored on the authserver or gameserver side. If using MySQL, a new table can be created. An example structure would be:

Table: hwid_bans
Columns: id, hwid, player_name, date, reason

Each time a player connects, the system checks against this table and applies ban rules accordingly.

Example HWID Retrieval in Python
Kod:
[BR][/BR]import subprocess[BR][/BR]def get_hwid():[BR][/BR]    result = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()[BR][/BR]    return result[BR][/BR]


This function retrieves the UUID, which is then sent to the server for comparison.

Security and Anti-Cheat Measures
While the HWID ban system is effective in blocking cheaters, some users may attempt to alter their hardware ID or use fake devices. Therefore, additional protections like signature checks or checksum comparisons should be implemented alongside this system.

Implementation Steps for Metin2 Servers
1. Integrate the HWID retrieval code into the client via uiscript.
2. Compare incoming HWID on the game server.
3. Ban users with mismatched HWIDs.
4. Create an administration panel using Python.

Conclusion
A hardware ban system is a powerful tool to increase security in Metin2 private servers. Combining C++ and Python ensures both performance and ease of management. When properly implemented, this system can significantly reduce cheating activity.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt