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

Kaiser

⋞ 〈 ☪ 〉 ⋟
Yönetici
Premium Üye
Geliştirici
Yardımsever Üye
Editör
Mesaj
3.660
Çözümler
343
Beğeni
3.499
Puan
1.849
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++:
#include <filesystem>

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

Altına ekleyin:
C++:
/* 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