Python ile yazıp pyinstaller ile .exe’ye çevirdiğim programı virustotal.com sitesindeki bazı virüs programları trojan virüsü olarak algılıyor. Bunun sebebi nedir?
Kodlar:
import shutil
import os
def ve1():
src = os.listdir("Klasor\\")
src_2 = os.listdir("Klasor\\Klasor2\\")
for i in src:
if(i.endswith(".ttf")):
pass
else:
f = os.path.join("Klasor\\", i)
if (os.path.isfile(f)):
shutil.copy(f, ".")
print(f)
for i in src_2:
f = os.path.join("Klasor\\Klasor2\\", i)
if (os.path.isfile(f)):
shutil.copy(f, ".")
print(f)
ve1()
Linkte yazılanları tam anlamadım ama pyinstaller’in exe ye dönüştürme yöntemi ile alakalı olabilir. Cxfreeze gibi farklı bir kütüphane kullanırsanız olur belki.
Bana kalırsa os modülünü kullanman ve dosyalarla yaptığın işlemlerle ilgili olabilir ama kodu tam anlayamadım, dosyalarla ne yaptığını. Belki dosyalarla ilgili izin verilmemiş olan bir işlem yapmaya çalıştığın için olmuştur
bana kalırsa şu yüzden virüs olarak algıladı
src = os.listdir(‘klasör\’)
bu program bu komut ile “klasör” adlı klasöre bağlanıyorsun ve bunu os modülünün listdir fonksiyonu ile yapıyor
bu da yetmiyormuş gibi dosya denetliyor
for i in src:
if(i endswith(".ttf"))
else:
f = os.path.join(“Klasor\”, i)
if (os.path.isfile(f)):
shutil.copy(f, “.”)
print(f)
burada diyor ki “klasör” klasörü içindeki bütün dosyaları tara sonra eğer uzantısı “.ttf” ise onu geç ama eğer değilse ona alttaki işlemleri yap biliyorsun bunları genelde virüsler yapar
evet burada bir klasörün içinde içindeki bütün dosyaların uzantısını denetliyorsun anti virüsün bunu virüs olarak algılaması işten bile değil.bu programı ne için yazdığını bilmiyorum.ama bence o dosya ile biraz oyna
ben bu kodları anlamayanlar için anlatayım.bu program klasör dizininin içinde ne kadar dosya varsa tarıyor.ve ttf uzantılı dosyalara dokunmuyor ama eğer ttf uzantılı değilse ona çeşitli işlemler yapıyor
ama bu dosya exe halinde ve anti virüsler exe dosyalarını çoğunlukla çok iyi tarar
ayrıca bazı antivirüsler dosyaları kopyalayanları virüs olarak algılar bazıları ise öyle algılamaz
bu antivirüsün nasıl yazıldığına bağlıdır
Kesinlikle ve yapilan işlemin virüsün yaptığı ile alakalı bir şey yok bir dosyanın içerisindeki tüm. txt içeriğine bir içerik yazabilmek için filtre kullanmam gerekiyor.
Bunu virüs olarak algılaması gerek o zaman.
Pyinstaller ile alakalı bir sorun kesinlikle büyük ihtimalle Python sürümü ile pyinstaller sürümü tutmuyor olabilir veya 64 bit bir bilgisayara 32 bit bir Python kurulmuş olabilir.
Ben bile unutmuştum böyle bir konu açtığımı. Açıkçası yazdığım bu kodları neredeyse tüm programlar yapıyordur. Yani dosya kontrol etme ve taşıma işlemi yaptığı için virüs olarak algılandığını sanmıyorum. En basitinden bir oyunda kaldığınız son yeri kaydetme işlemi de benzer şekilde çalışıyor. Klasörün belirtilen dizinde var olup olmadığını sorguluyor. Eğer yoksa o dizine kayıt klasör ve dosyalarını oluşturuyor. Varsa da o klasörün üstüne yazıyor.
Sürümle alakalı konulara da hiç dikkat etmedim. Onlara da fırsat bulduğum zaman göz atacağım.