2016-12-04 27 views
13

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?

+1

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

+0

Bu örnekte, tüm diğer kodu aynı şekilde tuttuğum için ayarlanan 'File.Exists (yol)' kesinlikle ayarlanmıştır. – Harry

+3

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. –

cevap

1

En azından "ad, yazar ve açıklama" alanına sahip bir AssemblyInfo.cs sağladınız (varsayılan değerler değil)? Yaklaşık 1 yıl önce benzer bir sorun yaşadım ve bu benim için problemi çözdü.

+0

Ne yazık ki bu benim için çalışmadı. Girdiğin için teşekkürler tho. – Harry

0

Lütfen AssemblyInfo.cs'deki "Guid" bölümünü biraz değiştirin ve tekrar deneyin. Bu benim için çalıştı.