Tersine Mühendislik 3 [İntermodular Calls]

Tersine Mühendislik 3, modüler programlama anlayışını öne çıkaran ve etkili bir şekilde uygulayan bir yazılım ürünüdür. Bu program sayesinde, farklı modüller arasında kullanıcı belirlemesi yapılan bir çağrı mekanizması oluşturulabilir. Böylece, yazılımın daha verimli ve akıcı çalışması sağlanırken, kullanıcılar da kullanım esnasında daha az hata yaparak daha hızlı sonuçlar elde edebilirler. Tersine Mühendislik 3, SEO’ya uygun Türkçe açıklaması ile de bu alanda öncü bir yazılım ürünüdür.

Tersine Mühendislik: Ollydbg İçerisinde İntermodular Nedir?

Bu makalenin konusu Ollydbg programında intermodular calls (İntermodular Çağrılar) olgusudur. Bu terim, kodların Windows sisteminden çağırdığı eventleri listeler. Bu olguyu inceleyerek hangi verilere ulaşabileceğimize bakacağız.

İntermodular Nedir?

İntermodular Calls içerisinde listelenen eventler İntermodular terim olarak geçmektedir. Asıl amacı ise program içerisinde bulunan kodların windows sisteminden çağırdığı eventleri listelemektir. Örneğin, bir Microsoft Word programını düşünelim, yazıcı işlemleri biz komut vermeden çalışmaz. Word içerisinde bulunan ama biz çağırmadan çalışmayan bu yazdırıcı komutu, ollydbg programında intermodular calls adıyla geçmektedir.

Ollydbg programında Ctrl + N kombinasyonu ile eventleri görebiliriz ya da sağ tıklayıp “Search For -> All intermodular Calls” ile erişebiliriz.

İntermodular Calls ile Lisans Koduna Erişme

Birinci derste serial kodu bulmuştuk. Ancak bulduğumuz serial kod hazır olarak program içerisinde barınıyordu. Bu kez string araması ile değil eventler yardımı ile bulacağız. Çünkü programımız içerisinde yazılmış bir serial kod yok.

Dosyamız Visual Basic ile kodlandı. Visual basic ile kodlanan programlar, çalışabilmesi için “msvbvm60.dll” adlı bir component’e ihtiyaç duymaktadır. Windows kütüphanesi ile olan bütün işlemlerini bu dosya üzerinden atama yaparak devam eder. Aşağıda vereceğimiz eventler ise bu dosya üzerinden çalışan parçacıklardır.

Örneklemek gerekirse “Webdeyazilim” adlı bir metinimiz olsun. Metnin uzunluğunu bulmak için kullandığımız “Len”,”StrLen”,”Lenght” gibi kullandığımız programlama diline göre değişen fakat aynı işlemi yapan komutlar, belli eventleri çağırarak hesaplamalar yapar.

Event Listesi:

  • __vbaVarTstEq
  • __vbaVarTstNe
  • __vbaVarCmpEq
  • __vbaStrCmp
  • __vbaStrComp
  • __vbaStrCompVar
  • __vbaStrCopy

Az önce kodların yüzeysel olduğunu ve tabanında bu işlemleri yapan eventlerin olduğunu bahsetmiştik. Bu eventler assembly dilinde belli bir yapıya sahip. Ancak bu örnek sadece vb6 dilinde yazılmış bir program için geçerlidir.

Videolu Anlatım için tıklayabilirsiniz.

Sonuç

İntermodular calls olgusu, dosya üzerinde herhangi bir paketleme bulunmadan önceki aşamalarda lisans koduna erişmek için kullanılan etkili bir metottur.

Yorum yapın