[C++]Hackshield kırma yöntemi - Mix Engelleme - Oyundan Func Çağırma , LoginInfo blok

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Gerekli bilgiler :

c++ bilgisi,
DLL'nin nasıl çalıştığını bilmek,

Visual Studio 11 ile yazılmıştır

1 - Hackshieldi kırma yöntemi :

Bu bir yöntemdir bir örnek göstereceğim oyun başlarken oto inject ederseniz hackshieldin START_MONITORING erroru kapatılır böyle tüm errorları kapatarak hackshield kırılabilir.TR'de denenmiştir.Yeni metin2 tr için gereklidir eski exeler için offset bulunuz ona göre write[*]'yi düzenleyiniz.

Kod:
extern "C" __declspec(dllexport) bool __cdecl Main(){     char Write [*] = { 0xE9, 0xBB, 0x03, 0x00, 0x00 }; // 72F04B = 4BF072 - E9 BB 03 00 00           - jmp metin2client.exe+BF072      HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessId());     WriteProcessMemory(hProc, (LPVOID) 0x004BECB2, (LPVOID) Write, sizeof(Write), NULL);     CloseHandle(hProc);     return true; }

2 - Mix Engelleme :

Çok basit bir kodla engellenebilir.Dirent.h gerektirir.

Kod:
int getdir(string dir, vector<string> &files) {     DIR *dp;     struct dirent *dirp;     if ((dp = opendir(dir.c_str())) == NULL) {         MessageBoxA(0, "Dosya konum hatası!", "Hata", MB_OK | MB_ICONERROR);         return errno;     }     while ((dirp = readdir(dp)) != NULL) {         files.push_back(string(dirp->d_name));     }     closedir(dp);     return 0; } void sub_0123E85() // if return_type equals one its gonna return MessageBox {     string dir = string(".");     vector<string> files = vector<string>();     getdir(dir, files);     for (unsigned int i = 0; i < files.size(); i++) {         string a = files[i];         if (a.substr(a.find_last_of(".") + 1) == "mix") {             const char* b = a.c_str();             MessageBoxA(0, b, "Mix Bulundu!", MB_ICONERROR);             ExitProcess(0);         }     } }

Bu kod başka bir forumdaki altair456'dan alıntıdır biraz değiştirilmiştir.

3 - Oyundan fonksiyon çağırmak

Örnek messagebox çağıracağım MessageBoxA yerine fonksiyonun adresini yazarsanız o fonksiyonu çağırır.
Kod:
int (__stdcall * MessageBoxYeah) (HWND a, char* b, char* c, int d) = (int (__stdcall *)(HWND, char*, char*, int))MessageBoxA;

kullanım :

Kod:
MessageBoxYeah(0, "Test", "Başlık", 0);

MessageBox sadece gösterme amaçlıdır direk messagebox kullasana gibi saçma yorumlar yapmayın ayrıca detourlarıda kullanıp messageboxu hook edebilirsiniz şöyle ki :

Kod:
typedef int (__stdcall *tMessageBox)(HWND a, char* b, char* c, int d); tMessageBox oMessageBox; oMessageBox = (LPVOID)DetourFunction((PBYTE)MessageBoxA, (PBYTE)hMsgBox);int hMsgBox(HWND a, char* b, char* c, int d) {                    // fonksiyon çağrılmadan önce yapılacaklar                    return  oMessageBox; // ya da eğer test , title gibi döndürcekseniz oMessageBox(0, "test", "Başlık", 0); }

4 - LoginInfo.py engelleme :

intrologin.py'ye girin LoginInfo'yu bulun istediğiniz bir isimle değiştirin silmeyin hata alırsınız ekstra bi kodu daha vardı sanırım unuttum
:p
Metin2 Lobby olarak, Metin2 dünyasında gelişmiş teknik konulara odaklanıyoruz. Bu makalemizde, C++ tabanlı bir sistem olan HackShield koruma mekanizmasının kırılması, Mix engelleme yöntemleri, oyundan func çağırma teknikleri ve LoginInfo bloğunun nasıl çalıştığını detaylıca ele alacağız. Bu içerik, özellikle Metin2 client geliştiricileri ve client editing konusunda ileri düzey bilgi sahibi olanlar için önemlidir.

Öncelikle HackShield nedir? HackShield, bazı Metin2 sunucularında kullanılan bir anti-hile sistemidir. Bu sistem, istemci tarafında çalışan oyun dosyalarını izleyerek hile yüklü olup olmadığını kontrol eder. Ancak bu koruma, doğru teknik bilgiyle bypass edilebilir. C++ ile yapılan işlemlerde, genellikle Hook teknikleri kullanılır. Hook, bir fonksiyonun çalışma anında değiştirilmesini sağlar. Böylece koruma mekanizması devre dışı bırakılabilir.

HackShield bypass işlemleri sırasında dikkat edilmesi gereken en önemli konulardan birisi, Mix dosyalarıdır. Mix dosyaları, oyunun kritik dosyalarını barındıran arşivlerdir. Eğer bu dosyalarda değişiklik yapılmışsa, sunucu tarafından tespit edilip banlanabilirsiniz. Bu nedenle, Mix engelleme teknikleri çok önemlidir. Bu tekniklerle Mix dosyalarının doğruluk kontrolü engellenir ve modifiye edilmiş clientler sunucuya bağlanabilir.

Oyundan Func Çağırma, yani oyun içi fonksiyonların dışarıdan tetiklenmesi, DLL injection gibi tekniklerle sağlanabilir. Bu sayede, mesela otomatik toplama, hileli hareket gibi özellikler entegre edilebilir. Ancak bu işlem sırasında dikkatli olunmalıdır çünkü sunucu tarafında güvenlik kontrolleri bulunabilir. Bu tür işlemler, yalnızca test amaçlı ve kendi sunucularınızda kullanılmalıdır.

LoginInfo bloğu ise, oyunun sunucuya bağlanırken gönderdiği bilgileri içerir. Bu blokta kullanıcı adı, şifre ve diğer bağlantı parametreleri yer alır. Bu bloğun doğru analiz edilmesi, client-side giriş işlemlerini manipüle etmede büyük rol oynar. Örneğin, farklı sunuculara yönlendirme veya özel kimlik doğrulama süreçleri bu blok üzerinden yapılabilir.

Tüm bu teknikler, Metin2 client geliştirme sürecinde deneyim kazandıracak gelişmiş yöntemlerdir. Ancak bu işlemleri yaparken, Metin2 Lobby olarak bizim önerimiz, yasal sınırlar çerçevesinde ve etik kullanım amaçlı çalışmaktır. Geliştiricilerin bu bilgileri sadece kendi projelerinde kullanmaları, sunuculara zarar verici müdahalelerden kaçınmaları gerekir.

Dilerseniz, bu konularla ilgili örnek kodlar ya da teknik açıklamalar için Metin2Lobby forumuna göz atabilirsiniz. Orada birçok Metin2 client geliştiricisinin paylaştığı örnekler ve çözümler bulacaksınız.


Metin2 Lobby as, we focus on advanced technical topics in the world of Metin2. In this article, we will detail how to break the HackShield protection system based on C++, methods for blocking Mix, techniques for calling func from game, and how the LoginInfo block works. This content is especially important for Metin2 client developers and those with advanced knowledge of client editing.

Firstly, what is HackShield? HackShield is an anti-cheat system used by some Metin2 servers. This system monitors client-side game files to check whether cheating software is loaded. However, this protection can be bypassed with proper technical knowledge. In operations done with C++, Hook techniques are generally used. A hook allows a function to be modified during runtime. Thus, the protection mechanism can be disabled.

One of the most important things to consider during HackShield bypass procedures is the Mix files. Mix files are archives that store critical game files. If any modifications are made to these files, you may be detected and banned by the server. Therefore, Mix blocking techniques are very important. These techniques prevent integrity checks of Mix files so modified clients can connect to the server.

Calling Func From Game, i.e., triggering functions within the game from outside, can be achieved using techniques like DLL injection. This allows features such as auto-pickup or movement hacks to be integrated. However, caution must be taken since security checks may exist on the server side. Such operations should only be used for testing purposes and on your own servers.

The LoginInfo block contains information sent by the game when connecting to the server. Usernames, passwords, and other connection parameters are located in this block. Proper analysis of this block plays a major role in manipulating client-side login processes. For example, redirection to different servers or custom authentication processes can be handled through this block.

All these techniques are advanced methods that will provide experience during the process of Metin2 client development. However, as Metin2 Lobby, our recommendation while performing these operations is to work within legal boundaries and for ethical use. Developers should only use this knowledge in their own projects and avoid harmful interventions to servers.

If you wish, you can visit Metin2Lobby forums for sample codes or technical explanations related to these topics. There you will find examples and solutions shared by many Metin2 client developers.
 

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

Benzer konular

Geri
Üst Alt