Python ile Hash Listesine Göre Virüslü Dosya Yakalamak

Blueteamforse

Asistan Moderatör
17 Ağu 2023
181
79
Moderasyon
dkwhgsg.jpeg


Merhaba TurkHackTeam Ailesi.

Bugün size yapmış olduğum virüs tarama programını göstericem.

Projeyi tanıtmak gerekirse pythonda çalışan ve bir txt içindeki hashleri kontrol eden basit bir program.

Projemizin kodları;
Hazırsanız başlıyalım.

İlk önce Programımıza kütüphanelerimizi dahil ediyoruz;
Python:
import os
import hashlib
import tkinter as tk
from tkinter import filedialog

Kütüphanelerimiz bu kadar şimdi bir değişken tanımlayıp ona bir fonksiyon attıyoruz;
Python:
def scan(file):
    virus_found = False

Ardından Dosya taraması için programımıza hashleri çıkartıp bir txt den kontrol ettiriceğimiz kodu yazıyoruz;
Python:
with open(file, "rb") as f:
        bytes = f.read()
        readable_hash = hashlib.sha256(bytes).hexdigest()
    with open("Virüshashleri(2024).txt", 'r') as f:
        lines = [line.rstrip() for line in f]
        for line in lines:
            if readable_hash == line.split(";")[0]:
                virus_found = True
                break
    if virus_found:
        result_label.config(text=f"{file} Dosyasında virüs bulundu! Karantinaya alınmalıdır.")
        os.remove(file)
    else:
        result_label.config(text=f"{file} Dosyasında virüs tespit edilmedi. Dosya temiz.")
def browse_file():
    file_path = filedialog.askopenfilename(initialdir="/", title="Dosya Seç", filetypes=[("Tüm Dosyalar", "*.*")])
    if file_path:
        scan(file_path)

Şimdi ise uygulamamızın ana penceresini yapıyoruz;
Python:
root = tk.Tk()
root.title("Dosya Tarayıcı")

Buda biraz grafik ve düğme eklemek için kodumuzu yazıyoruz;

Python:
info_label = tk.Label(root, text="THT Moderasyon Dosya Tarayıcıya Hoş Geldiniz!", font=("Arial", 12))
info_label.pack(pady=10)
browse_button = tk.Button(root, text="Dosya Seç", command=browse_file)
browse_button.pack(pady=5)
result_label = tk.Label(root, text="", font=("Arial", 10), wraplength=300)
result_label.pack(pady=10)
root.mainloop()

Şimdi gelelim hashleri nasıl ekliyicez ?
Burdan 486 Sayfalık çoğu virüsün bulunduğu bir hash listesi burdan tek tek alıp bir txt içine kaydedebilirsiniz.
İstersenizde benim şuan kullandığım hash listesini
Burdan indirebilirsiniz. Ayrıca meralılar için Virüs Total linkide burda :)


Yukarda yaptıklarımın tam dosyası için Burdan İndirebilirsiniz. Bununda meraklıları için Virüs Total linki burda.

Bu programı c# Haline çevirmeyi bilmiyorum yardımcı olacak varsa özelden yazabilir.

Bu konuyu okuduğunuz için teşekkür ederim. İyi forumlar dilerim.
dkwhgsg.jpeg

 

yosabe06

Üye
19 Ağu 2016
73
33
Txt içerisine kayıt etmekten ziyade bir veritabanı yada dizi-liste kullanabilirdin.


ağaç ve ikili arama algoritmalarınada güzel örnek olurdu diye düşünüyorum.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.