Merhaba incelemelerim ve Çözüm Önerileri Aşağıdadır.

1-
  • check_admin() fonksiyonu, Windows’ta ctypes.windll.shell32.IsUserAnAdmin() kullanarak yönetici yetkisini kontrol ediyor.
  • Yönetici yetkisi isteyen programlar, kötü amaçlı yazılım (malware) olarak işaretlenebilir çünkü sistem seviyesinde değişiklik yapabileceklerini gösterir.
2-
  • kill_cursor_processes() fonksiyonu, taskkill ve pkill komutlarıyla çalışıyor.
  • Birçok antivirüs, çalışan bir süreci zorla kapatma işlemlerini şüpheli olarak değerlendirir.
  • Kötü amaçlı yazılımlar genellikle güvenlik yazılımlarını kapatmak için benzer komutlar kullanır.
3-
  • shutil.rmtree(cursor_update_path), bir klasörü tamamen silmek için kullanılıyor.
  • os.remove(cursor_update_path), belirli bir dosyayı siliyor.
  • Kötü amaçlı yazılımlar genellikle kendilerini veya diğer sistem dosyalarını silmeye çalışır.
  • Antivirüs yazılımları, sık kullanılan dizinlerde (AppData, Roaming, LocalAppData) değişiklik yapan programları şüpheli olarak değerlendirebilir.
4-
  • IDGenerator sınıfı rastgele makine ID’leri, cihaz ID’leri ve MAC ID’leri üretiyor.
  • Antivirüsler, sistemde kullanılan benzersiz kimlikleri değiştiren programları "anti-tracking" veya "anti-forensic" yazılım olarak algılayabilir.
  • Kötü amaçlı yazılımlar genellikle kimlik izlerini gizlemek için benzer teknikler kullanır.
5-
  • ConfigManager sınıfı, storage.json dosyasına veri yazıyor ve okuyor.
  • JSON dosyası, yazılım lisansları ve kullanıcı verilerini saklamak için kullanılan bir format olduğundan, "crack" veya "patcher" tarzı uygulamalarla ilişkilendirilebilir.
  • Antivirüsler, lisans dosyalarını değiştiren programları genellikle riskli görür.
6-
  • EXE dosyanı muhtemelen PyInstaller veya benzeri bir araçla oluşturuyorsanız
  • PyInstaller sıkıştırılmış veya paketlenmiş çalıştırılabilir dosyalar oluşturur.
  • Kötü amaçlı yazılımlar genellikle PyInstaller, UPX gibi araçlarla sıkıştırıldığı için, birçok antivirüs "heuristic detection" yöntemiyle bunları trojan olarak işaretleyebilir.
ÇÖZÜM ÖNERİLERİ

  1. Kod İmzalama (Code Signing)
    • Eğer ticari bir proje geliştiriyorsan, programını bir dijital sertifika (Code Signing Certificate) ile imzalayarak antivirüslerin güvenini artırabilirsin.
    • Örneğin, Microsoft’un signtool.exe aracını kullanabilirsin.
  2. PyInstaller Kullanırken "Onefile" Seçeneğinden Kaçın
    • pyinstaller --onefile komutuyla paketlenen dosyalar, kendini belleğe açıp çalıştırdığı için antivirüsler bunu genellikle kötü amaçlı olarak algılar.
    • Bunun yerine, --onedir seçeneğini kullanarak daha az şüpheli bir EXE oluşturabilirsin.
  3. UPX Sıkıştırmasını Kapat
    • PyInstaller, UPX sıkıştırmasını kullanıyorsa, bunu devre dışı bırak:
      pyinstaller --noconfirm --onefile --noupx main.py
    • UPX sıkıştırması, virüs benzeri bir davranış oluşturduğu için EXE dosyan daha az şüpheli olur.
  4. Virustotal’a Alternatif Test Yap
    • Windows Defender, Kaspersky, Bitdefender gibi büyük antivirüs programlarıyla test et.
    • Bazen False Positive (Yanlış Alarm) olabilir.
  5. Koduna İmzalı Sertifika Ekle
    • Eğer ticari veya resmi bir proje yapıyorsan, EV Code Signing Certificate alarak dosyanı imzalayabilirsin.
    • Örneğin:

      "signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a exedosyam.exe"