Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kod Metin2 Client Güvenliği

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
2,868
Tepkime puanı
4,320
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut
UserInterface/PythonApplication.cpp
İlgili kısmı bulun ve altına şu kodu ekleyin:
C++:
#include <fstream>
#include <ctime>

bool IsClientNameValid()
{
    char szAppPath[MAX_PATH] = "";
    std::string strAppName;

    if (GetModuleFileNameA(NULL, szAppPath, MAX_PATH) == 0)
        return false;

    strAppName = szAppPath;
    size_t pos = strAppName.find_last_of("\\/");
    if (pos != std::string::npos)
        strAppName = strAppName.substr(pos + 1);

    std::transform(strAppName.begin(), strAppName.end(), strAppName.begin(), ::tolower);

    return strAppName == "metin2client.bin";
}

void LogInvalidClientStart()
{
    std::ofstream logFile("client_protect.log", std::ios::app);
    if (!logFile)
        return;

    std::time_t t = std::time(nullptr);
    char timeBuf[64];
    std::strftime(timeBuf, sizeof(timeBuf), "%Y-%m-%d %H:%M:%S", std::localtime(&t));

    logFile << "[" << timeBuf << "] UYARI: Client hatalı isimle çalıştırıldı.\n";
}
Daha sonra CMSWindow::Create(...) altına şu satırları ekleyin:
C++:
if (!IsClientNameValid()) {
    LogInvalidClientStart();
    SET_EXCEPTION(USE_PATCHER);
    return false;
}
root/prototype.py
Arat:
C++:
elif "USE_PATCHER" == msg:
    dbg.LogBox("Oyun dosyası hatalı!\r\nLütfen Patcher.exe'yi çalıştırarak oyunu başlatın.")
Değiştir:
C++:
elif "USE_PATCHER" == msg:
    dbg.LogBox("Client yanlış isimle çalıştırıldı!\r\nLütfen sadece 'Patcher.exe' aracılığıyla oyunu başlatın.\n\n"
               "Bu güvenlik önlemi, oyun bütünlüğünü korumak için uygulanmıştır.\n"
               "Güncelleme yapmayı unutmayın.")
Patch dosyasını indirirken patcher’da doğrulama yapın:
C++:
// patcher.c
ShellExecute(NULL, "open", "metin2client.bin", NULL, NULL, SW_SHOW);
Aksi takdirde "USE_PATCHER" hatası alınır.
 

Benzer konular

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar