anonuser23532
Kıdemli Üye
- 9 Ara 2017
- 2,602
- 12
Unpack : Hedef dosyanın kodlarında karşılaştığımız korumanın kırılması
Modded ConfuserEx : ConfuserEx adlı obfuscate yazılımının saf kodlarını değiştirerek otomatik unpack yazılımlarından kaçırabilir hale getirilmiş ConfuserEx
: Kullanılan Programlar :
Debugger / dnSpy-x86
Scanner / Detect It Easy (die)
Bakalım burda ne vaar
hmm hiç koruması yokmuş
Kodlarına bakalım emin olalım derkeeeen...
Arkadaşlar işin püf noktası anti tamperi kaldırarak gchandle.Free() kod satırına bp koymak daha sonrasında çalıştırmak ve içeriden geçen modülü almak.
Şimdi yukarıdaki resimde gördüğünüz gibi kodlarda Anti Tamper var.
x0rz'un modladığı ConfuserEx 'lerde (denedim) otomatik araçlar ile anti tamper kalkmıyor.
O yüzden şimdi manuel bir şekilde kaldıracağız.
Bu şekilde yaparak module.cctor ' a gidelim.
Evet burada göreceğiz ki for döngüsü içerisinde sadece bir işlem çalıştırılıyor.
Bu işlem de tahmin ettiğimiz üzere Anti Tamper işlemi.
O noktaya BreakPoint (bp) koyarak programı debuglayalım.
Çalıştırdığımız zaman bp koyduğumuz noktada sarılaşma olacak ve program duracak.
Modules sekmesinde (Eğer sizde yoksa Üst taraftan Debug > Windows > Modules)
Bir modül olduğunu göreceğiz.
O modülü memory de açalım.
Evet program solda açılacak gördüğünüz üzere.
Debug'ı durdurabiliriz.
Solda sadece bizim memoryde açtığımız modül kalacak şekilde diğerlerini silelim de temiz olsun
Şimdi tekrar module.cctor'a gidip aşağı indiğiniz vakit göreceksiniz ki anti tamper kalkmış yani bu ne demek oluyor ?
Tabiki de artık gchandle.Free() ' ye gidebiliriz demek oluyor.
module.cctor'dayken CTRL + F kombinasyonu ile gchandle.Free() ' yi aratalım.
Gideceğimiz sonuçta gchandle.Free() ' ye bp koyalım.
Programı tekrar debuglayalım.
Evet aşağıda görüyoruz ki uğraştığımız program dışında yeni bir modül gelmiş "xywz"
Şimdi bu modülü Sağ tık > Save Module diyerek kaydedelim.
Şimdi artık işimiz xywz modülü ile.
xywz modülünü dnSpy üzerinde açalım bakalım onda ne varmış ?
Haydaa e yine aynı koruma ?
Evet yine aynı koruma fakat artık işimiz daha kolay.
yine module.cctor ' a gidelim.
for döngüsü içerisindeki case lerin ilkinde çalıştırılan modüle bp koyalım.
debuglayıp modules penceresinde çıkan xywz modülünü memoryde açtığımız zaman göreceğiz ki anti tamper kalkmış.
modules penceresindeki xywz modülünü ismini değiştirerek kaydedebiliriz artık işimiz var onunla )
Fakat arkadaşlar şimdi gchandle.Free() aramamıza gerek yok çünkü ulaşmak istediğimiz modüle zaten ulaştık.
Şimdi farklı bir şey yapıcaz.
xywz-Tamped diye çıkardığımız uygulamanın kodlarına bakacak olursanız göreceksiniz ki yine karma karışık kodlar var.
Şimdi onların icabına bakmak için programı de4dot ile çalıştırıyoruz.
de4dot işleminden çıkan dosyayı "xywz-Tamped-cleaned" dnSpy'a attığımızda manzara güzel olacak :
)
Bu crackme'nin gerisinde patch işlemi ile çözüm var fakat amacı konuma aykırı olduğu için buraya yazmama gerek yok )
Son düzenleme: