YARDIM Istirap ACS Ek - Suspend Koruması

cxzcmnasndq1

KY Uzman Üye
Katılım
21 Eki 2023
Mesajlar
392
Çözümler
48
Tepkime puanı
30
Puanları
63
Saldırganın Kendi pc'sindeki herhangi bir veriyi baz almadan, Server-Side suspend/resume koruması için internette döküman veya yardımcı fikir verecek kod arıyorum.
 

cxzcmnasndq1

KY Uzman Üye
Katılım
21 Eki 2023
Mesajlar
392
Çözümler
48
Tepkime puanı
30
Puanları
63
Bir tane buldum geliştirelim mi?

C++:
#include <thread>
#include <mutex>
#include <atomic>
#include <chrono>
#include <curl/curl.h>

class SuspendGuard {
 public:
  SuspendGuard() {
    _mutex.lock();
    _suspended = true;
    _last_check_time = std::chrono::system_clock::now();
  }

  ~SuspendGuard() {
    _mutex.unlock();
    _suspended = false;
  }

  bool IsSuspended() {
    std::unique_lock<std::mutex> lock(_mutex);

    // Son kontrolden bu yana geçen süreyi kontrol et
    std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
    std::chrono::duration<double> time_diff = now - _last_check_time;
    if (time_diff.count() > SUSPEND_CHECK_INTERVAL) {
      // Süspansiyon algılandı
      _suspended = true;
    }

    return _suspended;
  }

 private:
  static constexpr double SUSPEND_CHECK_INTERVAL = 1.0; // Saniye

  std::mutex _mutex;
  std::atomic<bool> _suspended;
  std::chrono::system_clock::time_point _last_check_time;

  // İnternetten saati kontrol et
  std::chrono::system_clock::time_point GetSystemTime() {
    CURL *curl = curl_easy_init();
    if (!curl) {
      return std::chrono::system_clock::now();
    }

    struct curl_slist *headers = nullptr;
    headers = curl_slist_append(headers, "Accept: application/json");

    curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com/");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

    std::chrono::system_clock::time_point now;
    curl_easy_getinfo(curl, CURLINFO_TIME_HTTP, &now);

    curl_easy_cleanup(curl);

    return now;
  }
};

// Suspend korumasını herhangi bir fonksiyona inline olarak entegre etmek için aşağıdaki kodu kullanabilirsiniz:

void MyFunction() {
  SuspendGuard guard;
  // ...
}
 

cxzcmnasndq1

KY Uzman Üye
Katılım
21 Eki 2023
Mesajlar
392
Çözümler
48
Tepkime puanı
30
Puanları
63
istirap acs içersinde mutex ile ilgili bir yapı zaten varmış.
youtube'de TBL ile alakalı videolar izliyordum hile videosuna denk geldim.
Nahsi geçen PVP Server muhtemelen istirap kullanıyordu. aynı mantık ile tbl geçirmeyi deneyip sorun ve sonuçlarını paylaşacağım.
 

samma1336

KY Üye
Katılım
30 Eyl 2021
Mesajlar
34
Tepkime puanı
6
Puanları
38
Kendi pc'sindeki herhangi bir veriyi baz almadan, Server-Side suspend/resume koruması için internette döküman veya yardım
Kral bunu yapmak imkansız gibi ne yaparsan yap bir şekilde suspend ediliyor. zaten bu sexyko soft stone sourcesi ile birebir geliştirilmiş bir source server client arası haberleşme var eğer o haberleşme belirtilen dk üzerinde gerçekleşmezse oyundan dc ediyor buda bir suspend koruması ama adamlar anticheatini bypass ediyor onu bypass ettiğinde ne yaparsan yap yine istediğini yaparlar.
 
Reklam