C# ile antivirüs programı nasıl yapılır ?

giberellin

Megapat
Katılım
15 Nisan 2017
Mesajlar
139
C# ile basit programlar hesap makinesi otomasyon basit oyunlar falan yapabiliyorum ama antivirüs programı nasıl yapılır, algoritması nedir bilen var mı ?
 
Son düzenleyen: Moderatör:
Antivirüs programı tek kişi ile yapılacak iş değil bir ekibinin olması ve üst düzey penetrasyon test bilginin olması, belirli şeyleri yani kavramları bilmek gerekir ve yeterli sermayen olması gerekir.

Umudunu kırmak istemem ama AV programları ile hesap makinesi programlamak aynı değil ve AV programlarını programlaması daha zordur. Günlerce çalışman gerekebilir.
 
Hevesini kırmak istemem ancak C# ile tam manasıyla bir antivirüs programı yapılması pek de mümkün değil. Burada ayrıntılı şekilde teknik sebepleri açıklanmış:
C# ile Antivirüs

Virüsleri tanımak için genel olarak iki yol var. İlk olarak, virüslerin imzalarını toplayarak bir veritabanı kullanmak. Tüm virüslerden imzaları toplamak kolay olmayacak. Ayrıca bunu tek başına sürekli tutmak da imkansız gibi. İkinci olarak, sezgisel analiz teknikleri mevcut. Heuristic olarak geçiyor. C# da bunu yapmak için yeterli bir dil değil.

Bu demek olmuyor ki virüsleri C# ile avlayamazsın. Ben de bu işe merak saldığımda, evet .exe uzantılı virüsleri yakalayamıyor belki ancak ufak çaplısını yapmıştım.

Biliyorsundur özellikle şaka amaçlı kullanılan .bat uzantılı virüsler mevcut. Kapsamlı bir dil olmasa da; hesap şifreni değiştirebilecek, klavye ve mouse gibi kontrolleri devre dışı bırakabilecek kodlar internet üzerinde mevcut. Ben de bunları yakalayabilmek amaçlı bir program geliştirmiştim. Başlangıç olarak böyle bir şey düşünebilirsin. Tarama için foreach döngüsü ile belirtilen dizindeki tüm dosyaları teker teker çekip, StreamReader sınıfı ile okuyarak, internette kolayca bulabileceğin hazır batch virüslerinden kodları aldıktan sonra karşılaştırabilecek bir kod dizisi yazabilirsin. Anlık izleme için FileSystemWatcher objesini kullanabilirsin, yalnız pek performanslı çalışmıyor.

Kendin bir şeyler dene. Takıldığın noktalarda yardımcı olmaya çalışırım. :)
 
Son düzenleyen: Moderatör:
Ben işte FastFixer diye bir program yaptım C# ile bilinen virüsleri felan temizliyor musallat drvhost ondan sonra coin minerlar bide regedit ile taskmgr açılma sorununu düzeltiyor kodların hepsi farklı dil neredeyse sadece start komutuyla bir programda birleştirdim olmuyor hepsi c# da çünkü
 
Hevesini kırmak istemem ancak C# ile tam manasıyla bir antivirüs programı yapılması pek de mümkün değil. Burada ayrıntılı şekilde teknik sebepleri açıklanmış:
C# ile Antivirüs

Virüsleri tanımak için genel olarak iki yol var. İlk olarak, virüslerin imzalarını toplayarak bir veri tabanı kullanmak. Tüm virüslerden imzaları toplamak kolay olmayacak. Ayrıca bunu tek başına sürekli tutmak da imkansız gibi. İkinci olarak, sezgisel analiz teknikleri mevcut. Heuristic olarak geçiyor. C# da bunu yapmak için yeterli bir dil değil.

Bu demek olmuyor ki virüsleri C# ile avlayamazsın. Ben de bu işe merak saldığımda, evet .exe uzantılı virüsleri yakalayamıyor belki ancak ufak çaplısını yapmıştım.

Biliyorsundur özellikle şaka amaçlı kullanılan .bat uzantılı virüsler mevcut. Kapsamlı bir dil olmasa da; hesap şifreni değiştirebilecek, klavye ve mouse gibi kontrolleri devre dışı bırakabilecek kodlar internet üzerinde mevcut. Ben de bunları yakalayabilmek amaçlı bir program geliştirmiştim. Başlangıç olarak böyle bir şey düşünebilirsin. Tarama için foreach döngüsü ile belirtilen dizindeki tüm dosyaları teker teker çekip, streamreader sınıfı ile okuyarak, internette kolayca bulabileceğin hazır batch virüslerinden kodları aldıktan sonra karşılaştırabilecek bir kod dizisi yazabilirsin. Anlık izleme için filesystemwatcher objesini kullanabilirsin, yalnız pek performanslı çalışmıyor.

Kendin bir şeyler dene. Takıldığın noktalarda yardımcı olmaya çalışırım. :)

Yapılıyor, isterseniz ChatGPT'ye yapabilirsiniz, bana göre heuristic ve bir MD5 veri tabanı yeterli, isterseniz fazlasını söylersiniz zaten yapar.loopa alarak gerçek zamanlı koruma yapabilirsiniz.ben yapmıştım çalıştı fakat gerçek zamanlı koruma üzerinde çalışıyorum. MD5 veritabanlarını ücretsiz ve güncel almak için virusshare.com'u kullanabilirsiniz.
 
Son düzenleyen: Moderatör:
Yapılıyor, isterseniz ChatGPT'ye yapabilirsiniz, bana göre heuristic ve bir MD5 veri tabanı yeterli, isterseniz fazlasını söylersiniz zaten yapar.loopa alarak gerçek zamanlı koruma yapabilirsiniz.ben yapmıştım çalıştı fakat gerçek zamanlı koruma üzerinde çalışıyorum. MD5 veritabanlarını ücretsiz ve güncel almak için virusshare.com'u kullanabilirsiniz.
Son durum ne?

Ben işte FastFixer diye bir program yaptım C# ile bilinen virüsleri felan temizliyor musallat drvhost ondan sonra coin minerlar bide regedit ile taskmgr açılma sorununu düzeltiyor kodların hepsi farklı dil neredeyse sadece start komutuyla bir programda birleştirdim olmuyor hepsi c# da çünkü
Bana kodu verir misin?
 
Son düzenleme:
Arkadaşlar konuyu alevlendirmek istemem. Ama son durum ne? Bende arkadaşımın Python ile yazacağı virüsü engellemeye çalışıyorum da. Nasıl yapılır?
 

Technopat Haberler

Yeni konular

Geri
Yukarı