Virustotal com

frekans50

⁵⁰
Katılım
8 Ekim 2022
Mesajlar
1,219
Ufak ciddi uygulamam sakıncalı olarak algılandığı için deneme amaçlı basit Windows uygulaması yaptım.

Form üstünde 2 buton.
Bir tanesini tıklayınca hello1
Diğerini tıklayınca hello2 gibi mesaj gösteriyor

Bu da sakıncalı olarak algılandı. En az 2..3 motor öyle gördü.


Acaba işin püf noktası nedir? Geliştirme ortamı zayıf diye mi oldu? Delphi 7 kullandım. Tdmgcc kullandım, tinyc kullandım pek değişmedi


Dijital imzaya filan para vermek istemiyorum

 
Delphi ile en basit uygulamayi bile yazsam virus tarayicilar virus oldugunu iddia ediyor

ChatGPT said:​

Bu gerçekten can sıkıcı bir durum ve Delphi kullanıcılarının sıkça karşılaştığı bir problem. Sebebi genelde şu nedenlere dayanır:


Virüs tarayıcıları, özellikle az bilinen ya da nadir kullanılan programlama dillerinde yazılmış küçük EXE dosyalarını şablonlara göre otomatik olarak tarar. Delphi ile derlenmiş uygulamalarda:

  • EXE içinde boş bile olsa VCL veya RTL (runtime library) çok şey içerdiğinden,
  • Uygulama internette yaygın değilse ya da imzalanmamışsa,
  • Çok az sayıda kullanıcı tarafından çalıştırılmışsa (özellikle heuristik motorlar bu durumda şüphelenir),
otomatik olarak "şüpheli" veya "potansiyel zararlı" olarak işaretlenir.


️​

Delphi, geçmişte Win32 virüslerinin yazımında sıkça kullanılmıştı. Bu geçmiş, Delphi'nin oluşturduğu bazı EXE yapılarının hâlâ şüpheli olarak algılanmasına neden olur. Özellikle UPX sıkıştırması kullanılan EXE’ler, kötü niyetli yazılımlar gibi algılanabilir.


Çözüm Önerileri​

✅ 1.​

  • Kodunuzu dijital olarak imzalarsanız (bir Code Signing Certificate alarak), neredeyse tüm antivirüsler sizi rahat bırakır.
  • Bu ücretli bir işlemdir, ancak dağıtım yapacaksanız gerekli ve profesyonel bir adımdır.

✅ 2.​

  • EXE boyutunu küçültmek için UPX kullanıyorsanız, virüs gibi algılanması çok olasıdır.
  • Derleyici ayarlarında "EXE'yi sıkıştır" gibi seçenekleri devre dışı bırakın.

✅ 3.​

  • Yazdığınız EXE dosyasını https://www.virustotal.com adresine yükleyin.
  • Hangi antivirüs motorlarının hata verdiğini görebilirsiniz. Bazı motorlar gereksiz şekilde aşırı hassastır (Bkz. ClamAV, Bkav, Antiy).

✅ 4.​

✅ 5.​

  • Lazarus ile yazılmış uygulamalar da Delphi'ye benzer EXE oluşturur, ancak bazen daha sade EXE’ler üretir.
  • Kodlarınız Lazarus'a da uygunsa bir test yapabilirsiniz.

Ekstra: Delphi'de Derleme Ayarları​

Aşağıdaki ayarları da kontrol edin:

  • Project Options → Packages sekmesinden gereksiz bileşenleri kaldırın.
  • Link with runtime packages seçeneğini kapatın.
  • Debug information'ı devre dışı bırakın (EXE boyutu küçülür, bazı AV'ler için olumlu olur).

İstersen virüs uyarısı veren basit Delphi projenin EXE’sini incelememi istersen, bunu nasıl analiz edebileceğini de adım adım anlatabilirim.

Devam etmek ister misin?

Evet

ChatGPT said:​

Harika! O zaman adım adım ilerleyelim. Elimizdeki hedef şu:
Basit bir Delphi uygulaması yazıyorsun, hiçbir zararlı içermediği halde virüs olarak algılanıyor. Bu durumu analiz edip nedenini anlayacağız ve çözüm yollarını uygulayacağız.

AŞAMA 1: Basit Bir Delphi Uygulaması Oluştur​

İlk olarak aşağıdaki gibi çok basit bir proje oluşturmanı istiyorum (örnek kod aşağıda):

✅ Örnek Delphi Kodu (Form Uygulaması)​

delphi
CopyEdit
Kod:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Merhaba dünya!');
end;

end.
Derledikten sonra Project1.exe veya verdiğin isimde bir dosya elde edeceksin.

AŞAMA 2: EXE Dosyasını Virustotal’a Yükle​

  1. https://www.virustotal.com adresine git.
  2. EXE dosyanı sürükleyip bırak.
  3. Tarama bittikten sonra çıkan sonuçları bana paylaş:
En çok hangi antivirüsler uyarı veriyor?
Uyarı mesajı ne diyor? (örneğin "Generic trojan", "Suspicious", "W32/FakeApp" vb.)

️ AŞAMA 3: EXE'yi Neden Şüpheli Bulduklarını Anlama​

Virüs tarayıcıları genellikle aşağıdaki nedenlerden dolayı Delphi EXE dosyasına şüpheyle yaklaşır:
SebepAçıklama
Win32 API kullanımıShellExecute, CreateProcess gibi fonksiyonlar varsa hassas algılayabilir.
Debug bilgisi içeriyorDebug bölümleri bazı antivirüslerce "şüpheli yapı" olarak görülür.
İmza yok (Unsigned EXE)EXE dosyası dijital olarak imzalanmadıysa ve az kullanıcıya sahipse, bayrak açılır.
UPX ile sıkıştırılmışEXE’yi UPX ile sıkıştırmak neredeyse her zaman şüphe uyandırır.
Küçük ve yaygın olmayan EXEYeni veya az kullanılan EXE’ler, davranış analizi nedeniyle şüpheli algılanabilir.

AŞAMA 4: Temiz EXE İçin Tavsiyeler​

1. Derleme Ayarlarını Temizle​

  • Debug bilgilerini çıkar
    Project Options > Compiler > Debug informationFalse
  • Runtime paketlerini linkleme
    Project Options > Packages > "Build with runtime packages"Unchecked
  • İmzalama (varsa)
    → Kodunuzu bir code signing certificate ile imzalayın (ücretli ama etkili)

2. EXE Dosyasını Alternatif Derleyiciyle Üret (isteğe bağlı)​

  • Lazarus ile aynı kodu derleyip çıkan sonucu karşılaştırabilirsiniz.
  • Aynı sorun varsa, problem kodda. Sorun ortadan kalkıyorsa, sorun Delphi'nin EXE yapısında.

Şimdi Sıra Sende​

  1. EXE’yi oluştur ve virustotal sonucunu gönder.
  2. Virüs olarak algılanan motorların adlarını ve uyarı metinlerini paylaş.
  3. Kullanıyorsan:
    • UPX veya başka EXE sıkıştırıcı?
    • Hangi Delphi sürümünü kullanıyorsun?
    • Windows Defender dışında başka antivirüs var mı?

İstersen birlikte bu EXE’nin içeriğini PE Explorer, Detect It Easy, CFF Explorer gibi araçlarla da analiz ederiz.
Devam edelim mi?
 
Lazarus tamam. Sıfır uyarı.
1749501294337.png
 
D12 ile 2 buton 2 label içeren basit bir uygulama

Hem 32 bit hemde 64 bit olarak derlendi.
Her derlemeninde debug ve release halide var.
Yani zip içerisinde aynı projenin yukarıdaki 4 duruma göre derlenmiş 4 adet exe var.

Kendiniz denemek isterseniz ekdeki zip dosya içeriğini kullanabilirsiniz.

32 bit debug : 2 adet uyarı
32 bit release: 1 adet uyarı

64 bit debug : 0 uyarı
64 bit release : 0 uyarı


64bit-release_dCUic222ki.png


Kod içeriğinde birşey yok ama meraklıları için:

@taydin hocam kod ekleme arayüzünde pascal seçeneği yok :)

Kod:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 label1.Caption :='Button1 click';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
label2.Caption :='Button2 click';
end;


end.
 

Ekler

Son düzenleme:
Yeni programlama dili desteği eklemek için forum yazılımında değişiklik gerekiyor malesef. PHP de benim de hakim olduğum bir programlama dili değil ...
 
Ufak ciddi uygulamam sakıncalı olarak algılandığı için deneme amaçlı basit Windows uygulaması yaptım.

Form üstünde 2 buton.
Bir tanesini tıklayınca hello1
Diğerini tıklayınca hello2 gibi mesaj gösteriyor

Bu da sakıncalı olarak algılandı. En az 2..3 motor öyle gördü.


Acaba işin püf noktası nedir? Geliştirme ortamı zayıf diye mi oldu? Delphi 7 kullandım. Tdmgcc kullandım, tinyc kullandım pek değişmedi


Dijital imzaya filan para vermek istemiyorum

Delphi 7 ile yazılan programların virus olarak algılanmasında sebeplerden biride benim.
Kendi yazdığım uygulamayı antivirus şirketlerine şikayet etmiştim. :)
Delphi7 bilgim sıfır.
Ama detaylı kod bankasına sahipti.
Onunla herşeyi yapabiliyordum.
Şirket el değiştirince silmiştim. Bir daha uğraşmadım.
Lazarus ile yapmaya çalışıyorum ama aptala anlatır gibi detaylı yazılmış kod bankası yok. :)

Hatırladığım kadarıyla exe içine başka exe gömme olayı yüzünden delphi7 ile yazılanlar virus kabul ediliyor.
 
Son düzenleme:

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,847
Mesajlar
129,983
Üyeler
3,155
Son üye
Serdar50

Son kaynaklar

Son profil mesajları

Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
az bilgili çok meraklı
Back
Top