[C++] Client İçin Küçük Bir Güvenlik Önlemi

Kaiser

Admin
Admin
Geliştirici
Yardımsever Üye
Mesaj
4.039
Çözümler
390
Beğeni
4.160
Puan
1.849
Ticaret Puanı
0
Merhabalar, bir zamanlar oynadığım pvp serverinde böyle bir şey görmüştüm, fikir hoşuma gitmişti ve şimdi aklıma gelince ben de yapıp paylaşmak istedim.
Kısaca bahsetmek gerekirse; client açılırken, kullanıcının D diskinde ymir work adında bir klasör varsa oyun açılmayacak ve çalışmayı durduracak.

Geliştirme sürecinde kullanılması tavsiye edilmez.

Görsel:

5c9jqpq.gif


Client Src/UserInterface/UserInterface.cpp dosyasını açın;
include listesine ekleyin:
C++:
Genişlet Daralt Kopyala
#include <filesystem>

Arayın:
C++:
Genişlet Daralt Kopyala
bool Main(HINSTANCE hInstance, LPSTR lpCmdLine)
{
#ifdef LOCALE_SERVICE_YMIR
    extern bool g_isScreenShotKey;
    g_isScreenShotKey = true;
#endif

Altına ekleyin:
C++:
Genişlet Daralt Kopyala
/* D diski kontrol - Start */
    
    std::filesystem::path kontrol = std::string("D:\\ymir work\\");
    bool koruma = std::filesystem::is_directory(kontrol.parent_path());
    if(koruma)
    {
        MessageBox(NULL, "D Sürücüsünde ymir work klasörü tespit edildi.\n Lütfen klasörü silin ve tekrar deneyin.", NULL, MB_OK);
        return false;
    }
/* D diski kontrol - End */

İstediğiniz doğrultuda geliştirebilirsiniz. İyi çalışmalar.
 
Geliştirme sürecinde kullanılmasını neden tavsiye etmiyorsunuz files geliştrmeden mi bahsettiniz burda
 
Geliştirme sürecinde kullanılmasını neden tavsiye etmiyorsunuz files geliştrmeden mi bahsettiniz burda
Evet files geliştirme sürecinden bahsettim. Hem @Tengrist in söylediği gibi durumlarda hem de örneğin world editör vs. daha rahat kullanabilmek için geliştirme esnasında bunu yapmaya gerek yok.
 
Geri
Üst