Bir C# programı oluşturdum ve son zamanlarda, başvurulan .dlls'i IL Merge kullanarak tek bir yürütülebilir .exe dosyasına birleştirdiğimde, Anti Virüsüm (Avast) 'ın bunu siler ve bunun bir virüs olduğunu söyler. Her zaman çok fazla yedek oluyorum, böylece aynı şeyi 2 gün öncesine kadar test ettim ve bu problemi yaşamadım.C# programım virüs olarak mı algılandı?
Son zamanlardaki kod satırımı sildim ve programın virüs olarak algılanması için ne tetiklediğini fark ettim. Belirli bir yoldaki bir dosya listesinin mevcut olup olmadığını kontrol ettiğim bir boşluk var (uygulamalar klasöründe% appdata% bulunur). Boşluk yaklaşık 8 File.Exists(path)
komutuna sahip ve bu 8 satırı kaldırarak programım artık virüs olarak algılanmadı.
Benim sorum şu, bu sorunun çözümü var mı? Programım neden bir virüs olarak algılandı? File.Exists
kullanıyorum?
A [Benzer soru] (http://stackoverflow.com/q/39820720/11683) silindi, bu yüzden yorumumu oradan kopyalarım: * Kesin ya da kalıcı bir cevap olabileceğini düşünmüyorum Sezgisel doğanın yapısı. Evet, 'File.Exists (yol)' bunu ayarlayabilir, ancak emin olamayız; evet, saf sezgisel bir örnek olurdu ve bir sonraki sürümde değişebilir. Yanlış pozitifler, bununla ilgili neler yapabileceğiniz, uygulamanızı satıcıya yanlış bir pozitif olarak gönderir. * – GSerg
Bu örnekte, tüm diğer kodu aynı şekilde tuttuğum için ayarlanan 'File.Exists (yol)' kesinlikle ayarlanmıştır. – Harry
Teorik olarak, "https://www.avast.com/false-positive-file-form.php" adresinde artık bildirilmeyecek şekilde uygulamanızı göndermek için "yanlış pozitif bildir" formunu kullanabilirsiniz. göz ardı edilmemeli ve başkalarının da ıstırap çekeceği acı çekecek - Avast, bildirilen en büyük yanlış pozitif sayıdan birine sahip. –