C# Проверяем целостность важных файлов в сборке самп на возможные вирусы

Savok

Потрачен
Автор темы
178
292
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Добрый день!
Есть такие вирусы которые вшиты в файлы по типу
"gta_sa.exe"
Из-за этого могут пострадать наши любимые игроки сампа.
1695370960754.png


Код:
using System;
using System.IO;

namespace FileIntegrityChecker
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите путь к директории с файлами игры:");
            string directoryPath = Console.ReadLine();
           
            if (Directory.Exists(directoryPath))
            {
                string[] filesToCheck = { "gta_sa.exe", "samp.exe", "samp.dll" };
               
                Console.WriteLine("\nПроверка целостности файлов...");
               
                foreach (string file in filesToCheck)
                {
                    string filePath = Path.Combine(directoryPath, file);
                   
                    if (File.Exists(filePath))
                    {
                        if (CalculateFileChecksum(filePath))
                        {
                            Console.WriteLine($"Файл {file} не был изменен.");
                        }
                        else
                        {
                            Console.WriteLine($"Файл {file} был изменен и не соответствует оригинальному.");
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Файл {file} не найден.");
                    }
                }
            }
            else
            {
                Console.WriteLine("Указанная директория не существует.");
            }
           
            Console.ReadLine();
        }
       
        static bool CalculateFileChecksum(string filePath)
        {          
            using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                using (var sha256 = System.Security.Cryptography.SHA256.Create())
                {
                    var hash = sha256.ComputeHash(fileStream);
                    string currentChecksum = BitConverter.ToString(hash).Replace("-", string.Empty);
                    string originalChecksum = "7E9FB9D8D228759294360DB5DDF72798286999347A1E1E5E0D27A9C2DA676A44";                
                    return currentChecksum.Equals(originalChecksum, StringComparison.OrdinalIgnoreCase);
                }
            }
        }
    }