by Darkness Yetkili Premium • 2025-12-29 14:53
Sistemdeki kritik dosyaların izinsiz şekilde değiştirilip değiştirilmediğini tespit etmek.
Bu yaklaşım; malware, backdoor veya yetkisiz müdahaleleri erken fark etmek için kullanılır.
📌 Ne yapar?
Belirlenen dosyanın SHA-256 hash değerini alır
Önceden kaydedilmiş hash ile karşılaştırır
Dosya değiştiyse kullanıcıyı uyarır
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class FileIntegrityChecker
{
static void Main()
{
Console.WriteLine("Kontrol edilecek dosya yolunu girin:");
string filePath = Console.ReadLine();
if (!File.Exists(filePath))
{
Console.WriteLine("Dosya bulunamadı.");
return;
}
string currentHash = CalculateFileHash(filePath);
string hashFile = filePath + ".hash";
if (!File.Exists(hashFile))
{
File.WriteAllText(hashFile, currentHash);
Console.WriteLine("Hash oluşturuldu ve kaydedildi.");
}
else
{
string savedHash = File.ReadAllText(hashFile);
if (savedHash == currentHash)
{
Console.WriteLine("Dosya bütünlüğü korunuyor. Değişiklik yok.");
}
else
{
Console.WriteLine("⚠️ UYARI: Dosya değiştirilmiş olabilir!");
}
}
}
static string CalculateFileHash(string filePath)
{
using (SHA256 sha256 = SHA256.Create())
{
byte[] fileBytes = File.ReadAllBytes(filePath);
byte[] hashBytes = sha256.ComputeHash(fileBytes);
StringBuilder sb = new StringBuilder();
foreach (byte b in hashBytes)
sb.Append(b.ToString("x2"));
return sb.ToString();
}
}
}