Antivirüslerde İmza Okuma Yöntemi Hex Pattern [ vb.net & C# ]

Merhabalar eskilerden bilirsiniz yanlış hatırlamıyorsam visual basic dilinde imza okuma işlemi yapılamıyor diye antivirüs yazması zor olur diyorlardı. Geçen gün C# dilinde bulduğum bir metodu converter telerik ile çevirip Visual Basic.NET üzerinde yapınca işe yaradı. Ayrıca imza okuma ve antivirüslerin çalışma mantığı hakkında bilgi edinmek için aşağıda bıraktığım konuyu incelemenizi öneririm. Çok fazla uzatmadan kodlarımıza geçelim.

Konu ;

https://www.turkhackteam.org/konular/antivirus-nasil-calisir.1269874/

Bir buton ve bir richtextbox ögesi oluşturalım.

Ana kütüphane kodlarımız;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq; 

using System.Text;

using System.Threading.Tasks; 

using System.Windows.Forms; 

using System.IO;

Buda butonlarımız arasına gireceğimiz kod;

Not: Kodlar içeresinde açıklamaları vardır.

byte[] bytes = File.ReadAllBytes(@"D:\FB.exe"); // hedef dosya yolundaki uygulamanın baytlarını oku dedik

string hex = BitConverter.ToString(bytes); // okunan baytları hexe çevirdik

richTextBox1.Text = hex; // veriyi richtextbox'a yansıttık

richTextBox1.Text.ToUpper(); // yazılar küçük geldiği için hepsini büyük yap dedik

değiştir(); // virüs imzasına benzemesi için gelen verideki - ibarelerini kaldır dedik.

Gelen verideki hex patternleri virüs imzasına benzemesi için bir değiştir ögesi altında topladım;

void değiştir()

 {

 {

string withParts = richTextBox1.Text;

string withoutParts = richTextBox1.Text.Replace('-', ' ');

richTextBox1.Text = withoutParts;

}

 }

Evet bu kadar artık gelen veri içerisinde virüs imzası araması yapabilirsiniz. Orası sizlere kalmış. Baştaki konuyu okuyarak da bir çıkarımda bulunabilirsiniz.

Visual Basic.NET üzerindeki işlemlerim hemen hemen aynı sadece yukarıdaki bazı detayları(karakter silme) eklemedim. Kodumuz yine bir buton ve bir richtextbox üzerinde;

Unutmadan ekleyelim başına;

Imports System.IO

Daha sonra buton içerisine şunları yazalım;

Dim bytes As Byte() = File.ReadAllBytes("D:\FB.exe")

Dim hex As String = BitConverter.ToString(bytes)

RichTextBox1.Text = hex

RichTextBox1.Text.ToUpper()

-Son-