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
// arat ve üstüne ekle bool __CheckPyLibFiles()
// arat ve kod satırının altına ekle if (!PackInitialize("pack"))
// Visual Studio'da UserInterface sağ tıklayıp Özellikler > Derleme Olayları > Derleme Öncesi > Komuta satırı kısmına ekle
// Userinterface içine Check_Byte.h diye dosya oluştur ve içine ekle
// ü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
gene herkes herşey den anlıyor ama iş icraata gelince ortalarda yok
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
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
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
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.
Bu öz güven nereden geliyor anlamıyorum. %99 altında istatistik yok forumda

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
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.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 20
- Görüntüleme
- 835
- Cevaplar
- 5
- Görüntüleme
- 673
- Cevaplar
- 14
- Görüntüleme
- 696
- Cevaplar
- 9
- Görüntüleme
- 467
