berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Hikaye Ekle

New Pack Protection

  • Konuyu başlatan Konuyu başlatan Zadeg
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 11
  • Görüntüleme Görüntüleme 2K
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhabalar, Packlerinizi açarak içerisindeki animasyon veya diğer sistemler ile oynama yaparak hile veya bug yapımlarının %100 engelidir.


// üst kısımlara ekle


Kod:
#include <cstdlib>
#include <cstdint>
#include <string>
#include <filesystem> // C++17'den itibaren mevcut
#include "Check_Byte.h"

// arat ve üstüne ekle bool __CheckPyLibFiles()

Kod:
std::uint64_t get_directory_size(const std::string& directory)
{
    std::uint64_t size = 0;
    for (const auto& entry : std::filesystem::recursive_directory_iterator(directory))
    {
        if (std::filesystem::is_regular_file(entry.path()))
        {
            size += std::filesystem::file_size(entry.path());
        }
    }
    return size;
}

// arat ve kod satırının altına ekle if (!PackInitialize("pack"))

Kod:
std::string pack_directory = "pack"; // Gerekirse bu yolu ayarlayin (exe'nin çıktı alındığı yerde pack klasörü ve içinde pack dosyaları olmalı)


// pack dosyasının diskteki boyutunu alma
std::uint64_t current_size = get_directory_size(pack_directory);

// dosyanın boyutunu Check_Byte.h'ye aktarılan boyutla karşılaştırma
if (current_size != pack_directory_byte_count)
{
    LogBox("Pack dosyasinda degisiklikler var!");
    return false;
}

// Visual Studio'da UserInterface sağ tıklayıp Özellikler > Derleme Olayları > Derleme Öncesi > Komuta satırı kısmına ekle

Kod:
@echo off
set "BYTE_CHECKSUM_HEADER=$(ProjectDir)Check_Byte.h"
set "PACK_DIR=$(OutDir)pack"
echo #pragma once > "%BYTE_CHECKSUM_HEADER%"
echo // Auto file count >> "%BYTE_CHECKSUM_HEADER%"
echo ^#include ^<cstdint^> >> "%BYTE_CHECKSUM_HEADER%"
powershell -command "(Get-ChildItem -Recurse -File '%PACK_DIR%' | Measure-Object -Property Length -Sum).Sum" > temp_byte_count.txt
set /p BYTE_COUNT=<temp_byte_count.txt
del temp_byte_count.txt
echo const std::uint64_t pack_directory_byte_count = %BYTE_COUNT%; >> "%BYTE_CHECKSUM_HEADER%"

echo Byte count "%BYTE_CHECKSUM_HEADER%".
exit /b 0

// Userinterface içine Check_Byte.h diye dosya oluştur ve içine ekle

Kod:
#pragma once 
// Dosya boyutu için otomatik olarak oluşturulan dosya
#include <cstdint> 
const std::uint64_t pack_directory_byte_count = 2087427000;
 

En Çok Reaksiyon Alan Mesajlar

Yazmayayım istedim ama yazayım. Clientin dosyalarının byte boyutunu karşılaştırarak güvenlik sağlamayı ummak, oldukça yüzeysel ve manipülasyona açık bir yöntem. Örneğin, bu tür bir directory size kontrolü, basic byte-padding, buffer shift veyya integer overflow teknikleriyle kolayca aşılabilir. Ayrıca, amacı sizi uzaya göndermeyi aklına koymuş biri yalnızca dosya boyutunu koruyarak da içerikte dilediği gibi değişiklik yapabilir, hatta runtime’da process memory injection veya dynamic library hijacking ile mevcut kodu bypass edebilir. Daha da sayabilirim ama uzun olmasın.

Daha da düşündürücü olanı, bu basit directory size doğrulamasıyla animasyonve sistem manipülasyonlarını %100 önlediğinizi varsaymak. Replay saldırıları, runtime library injection ve memory modification gibi tekniklere tamamen açık bir yapı ile tam koruma iddiasında bulunmak, doğrusu biraz özgüven gerektiryiriyor. Güvenlik mimarisine hâkim değilseniz bu tür 'hafif' yöntemlerin oyun içi güvenlik sağladığını düşünmek size inandırıcı gelebilir, fakat güvenlik dünyasında bu tür bir yaklaşım, tam anlamıyla savunmasızlık olarak değerlendirilir. Benim için çözüm olarak adlandırdığınız şey, bu oyundan bağımsız konuşuyorum side-channel analysis veveya heap spraying gibi saldırı vektörlerine bile davetiye çıkaran bir yaklaşımın güvenlik sağladığını düşünmektir ve, ne yazık ki tam anlamıyla bir ilüzyondan farksız. Neyse çokta önemli değil zaten. Bilmek zorunda değilsiniz, ancak en azından yorum yapan ve terminolojiye hakim kişilerin değerlendirmelerini dikkate alın. Bu pürüzsüz olmasa da kısmen yolda yürümenizde bir nebze de olsa ışık gösterir. İyi çalışmalar.
"... hile veya bug yapımlarının %100 engelidir."
Bu öz güven nereden geliyor anlamıyorum. %99 altında istatistik yok forumda :D

if (current_size != pack_directory_byte_count)
Dosya boyutu değişmediği sürece istediğin değişikliği yapabilirsin demek. Bunun yerine hash kontrolü yapın.
"... hile veya bug yapımlarının %100 engelidir."
Bu öz güven nereden geliyor anlamıyorum. %99 altında istatistik yok forumda :D

if (current_size != pack_directory_byte_count)
Dosya boyutu değişmediği sürece istediğin değişikliği yapabilirsin demek. Bunun yerine hash kontrolü yapın.

Ben bu haliyle memnunum teşekkürler.
"... hile veya bug yapımlarının %100 engelidir."
Bu öz güven nereden geliyor anlamıyorum. %99 altında istatistik yok forumda :D

if (current_size != pack_directory_byte_count)
Dosya boyutu değişmediği sürece istediğin değişikliği yapabilirsin demek. Bunun yerine hash kontrolü yapın.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst