Tersine Mühendislik 2 [Unpack İşlemi]

Tersine Mühendislik serisine devam ediyoruz. İlk bölümde “Tersine Mühendislik 1 [Serial Bulma & Patch]” başlıklı konuda temel kavramları ve basit bir lisans bulma işlemini anlatmıştık. Sırada unpack ismini verdiğimiz, paketleme işlemini nasıl çözebiliriz? Bunu inceleyeceğiz. Upack Nedir? Sorusunun cevabı için bir önceki makalemizi inceleyebilirsiniz.

Unpack işlemi manuel veya araçlar ile yapılmakta. Şimdilik araçlar ile yapılan unpack işleminden bahsedeceğiz. Manuel unpack işlemi daha uzun ve uğraş gerektiren işlemdir.

Hedefler :

  1. Aspack ile şifrelenmiş dosya.
  2. Themida ile şifrelenmiş dosya.
  3. UPX ile şifrelenmiş dosya.
Unpack edilmesi gereken dosyalarımız.
Unpack Ne için Gereklidir?

Unpack yapmamızın sebebi program içerisine gömülmüş olan stringleri ve fonksiyonları görebilmek. Program üzerinde paketleme var iken  debug edip ilgili yeri bulmamız neredeyse mümkün değildir. Örneğin program içerisine gizlenmiş bir serial kodu paketleyiciden geçtiğinde açıkca görünmeyecektir. Üç ayrı şifreleyici kullanarak hazırladığım dosyayı, her birini ayrı ayrı araçlar ile unpack edeceğiz.

Görsel Anlatım :

1- Aspack ile şifrelenmiş dosyayı Aspack Stripper V2.12 programı ile unpack ediyoruz. Unpack butonuna basıp dosyayı seçmemiz yeterli.(protector : ASPack(2.12-2.XX))

Aspack unpack sırasında kullanılan program

2- Themida manuel unpack edilmesi gereken bir paketleyici bu yüzden videolu anlatım gerektiriyor. (protector : Unopix(0.94))

 

3- En kolay unpack işlemi upx üzerinde yapılıyor. Sebebi ise unpack edecek bir çok araç geliştirilmiş. Hatta bazı debugger programları açarken siz farkında olmadan debug ederek açmakta.

Upx ile paketleniş dosyayı unpack ederken kullandığımız program.

Sonuç:

Paketlenmiş bir dosyanın string bölümü ile unpack edilmiş diğer dosyanın string bölümü bu şekilde görülüyor. Ayrıca şifrelenmiş dosyada fonksiyonlar ve fonksiyon isimleride farklı olacaktır.

Ollydbg içerisinde görünen stringler . (packed/unpacked)

Genel Olarak :

Tersine mühendislik yapmak istediğimiz dosyayı ilk başta PE Analyzer adı verilen çeşitli programlarla hangi dilde yazıldığını derleyicisi ve paketleyicisi gibi bilgilere ulaşıyoruz. Ben Detect İt Easy (DİE) kullanıyorum. Ardından şifreleme var ise unpack işlemi için şifrelemenin türüne göre araştırma yapıyoruz. Örneğin 1. dosyamızda Aspack ile şifrelenmiş dosya mevcuttu. Protector yani paketleyicisi ismi ve versiyonu ile araştırma yapılır. İlk olarak araçlara göz atarız eğer araç yok ise manuel yöntemlere başvururuz. Manuel işlem için belli bilgi düzeyine erişmek gerekiyor. Manuel anlatımlara ilerleyen konularda bahsedeceğim .

Güncel Video:

https://www.youtube.com/watch?v=isqpTxa3GeQ

Photo of author

Mert Dirilik

Eğitimli insanlar topluma borçludurlar. Bir işin nasıl yapılabileceğini biliyorken bir başkasının yapamadığını görüp susmaları kendilerini yetiştiren o topluma ihanettir.

“Tersine Mühendislik 2 [Unpack İşlemi]” üzerine 5 yorum

  1. Selamün Aleyküm. Çalışmaların gayet başarılı ve güzel.. Çalışmalarının devamı gelirse iyi olur…. Araçları gönderebilirsen sevinirim..

    Cevapla
  2. Bazı exeler paketlenmemiş gibi görünüyor. ama paketli olduğuna eminim olydbg ile bütün kodları göremiyorum.

    Cevapla

Yorum yapın