Tersine Mühendislik 8 Unpack İşlemi [Aspack/Upx/PeCompact] ✔️

Tersine mühendislik, yazılım güvenliği açısından oldukça önemli bir işlemdir. Şirketler, kendi yazılımlarını yüksek seviyede korumak için Aspack, Upx ve PeCompact gibi paketleme araçları kullanırlar. Ancak, bu paketleme işlemleri sonucunda yazılımın çalıştırılması sorunlu hale gelebilir. Bu nedenle, tersine mühendislik işlemi kullanılarak yazılımın kilitlenmelerini açmak ve sorunsuz bir şekilde çalıştırmak mümkün hale gelir. Bu makale, 8 adımda Aspack, Upx ve PeCompact gibi paketleme araçlarının unpack işlemi hakkında bilgi vermektedir. İçerik, professional seviyede yazılım geliştiricilerine hitap ederek, yazılım güvenliği konusunda uzmanlaşmak isteyenlerin işine yarayacak niteliktedir.

Tersine Mühendislikte Sıkça Kullanılan Terimler

Tersine mühendislikte sıklıkla karşılaşılan terimlerdir. Asıl amacı derlenmiş olan .exe/.dll dosyalarını sıkıştırma yaparak PE bölümlerini şifrelemesidir. Bu olaya en iyi örnek WinRAR uygulaması ile klasörlerinizi tek bir dosya haline getirme işlemini verebiliriz. Pack işlemi paketleme anlamına gelmekte. Packer ise paketleyici yani işlemi yapan araç anlamını taşımakta. Unpack kelimesi ise paketleme işlemini tersine çevirmek , paketi açmak anlamlarına gelir.

Packer ve Unpacker Kavramları

Packer ve Unpacker, PE altında bulunan sektörleri paketleyici tarafından şifreler. Oluşan yeni bölümler kalıcı olarak saklanır, orijinal bölümler ise silinir. Bu işlemlerin başlangıç noktası olan OEP tekrardan atanır. Unpack işlemi sırasında şifrelenmiş veriler çözümlenerek eski haline gelir. Ram içerisine açılan orijinal değerler ve orijinal başlangıç adresine (OEP) sıçrar ve dosya normal olarak çalışmaya devam eder.

PE Başlığı

Portable Executable (PE), Windows işletim sisteminde çalışabilen dosya biçimidir. İlk olarak tersine mühendislik ile ilgilenen arkadaşların kesinlikle PE ile ilgili bilgi sahibi olması gerekiyor. Çünkü PE dosya formatındaki başlık bilgileri analiz ve tersine mühendislik konularında detaylı bilgi sunuyor. Programın veya dosyanın giriş adresi (EP), dosyanın oluşturulduğu tarih, çalışabileceği makine türü gibi önem arz eden bilgiler bu alanda barınıyor.

DOS Başlığı

DOS Header, tek bir görevi var diyebiliriz. Çünkü PE bölümündeki kısımda hata olup olmadığını denetleyip eğer uyumsuz bir sistemde ise programın hata verip kapanmasını sağlıyor. Yani buradan şunu çıkarabiliriz. Dosyaya uyumluluk sağlamak için PE dosya başlığına ekleniyor diyebiliriz.

Paketleyicilerin Karşılaştırılması

UPX, boyut küçültmede kullanılıyor. Geçtiğimiz yıllar boyunca sürekli paketlemenin daha küçük olması üzerinde çalışılmış ve bu yönde geliştirilmiştir. Aspack, programları ve kitaplıkları daha küçük yapmaya yarayan bir alternatif. PeCompact ise diğer paketleyicilere göre daha çok özelleştirme ek ayar sunar.

UPX

UPX paketleyicinin hemen hemen tüm sürümlerini unpack methodu sürekli olarak aynı kalmıştır. Bundan dolayı sadece sıkıştırmanın çok, kaynak kullanımının az olmasını hedefleyerek ilerlediği bu noktada anlaşılıyor.

Aspack

Aspack, sıkıştırma oranını %70’e kadar çıkarması ile ünlü bir paketleyicidir. Aspack ile paketlenen bir dosyayı PECompact daha iyi sıkıştırabilir.

PeCompact

PeCompact ise diğer paketleyicilere göre daha çok özelleştirme ek ayar sunan bir paketleyicidir. Aspack ve UPX gibi diğer paketleyiciler ile aynı işlevselliğe sahiptir.

Videolu Anlatım

Yorum yapın