New Pack Protection

  • Konuyu açan Konuyu açan Belgrand
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 136

Belgrand

Çaylak Üye
Üye
Mesaj
3
Beğeni
12
Puan
13
Ticaret Puanı
0
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:
Genişlet Daralt Kopyala
#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:
Genişlet Daralt Kopyala
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:
Genişlet Daralt Kopyala
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:
Genişlet Daralt Kopyala
@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:
Genişlet Daralt Kopyala
#pragma once 
// Dosya boyutu için otomatik olarak oluşturulan dosya
#include <cstdint> 
const std::uint64_t pack_directory_byte_count = 2087427000;
 
Can someone explain what this is?
with this method, you have the opportunity to secure the 'pack' folder more effectively. It also helps prevent your pack from being shared illegally (warez) and partially mitigates potential injection attempts.
 
Üst