Unpacking Modded ConfuserEx // Phemis | Tersine Mühendislik #3

anonuser23532

Kıdemli Üye
9 Ara 2017
2,602
12
IT23OH.png

Q7cBIz.png

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

x1BBWJ.png



: Kullanılan Programlar :
Debugger / dnSpy-x86
Scanner / Detect It Easy (die)


x1BBWJ.png



Bakalım burda ne vaar


UAViF5.png



hmm hiç koruması yokmuş
Kodlarına bakalım emin olalım derkeeeen...


lYSxNA.png



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.


fDoAJD.png




Bu şekilde yaparak module.cctor ' a gidelim.
apbZGq.png



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.


f4Cad9.png



O noktaya BreakPoint (bp) koyarak programı debuglayalım.


IccUaV.png




Ç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.


N6cTjr.png



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 :D
Ş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.


SUmSkn.png



Gideceğimiz sonuçta gchandle.Free() ' ye bp koyalım.
Programı tekrar debuglayalım.


Q5eWXG.png




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üdnSpy üzerinde açalım bakalım onda ne varmış ?


bofKrh.png




Haydaa e yine aynı koruma ?
Evet yine aynı koruma fakat artık işimiz daha kolay.

Module içerisindeki kodlara baktığınızda tekrardan bir anti tamper olduğunu göreceksiniz.
yine module.cctor ' a gidelim.


0DANop.png



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ü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 :))

2yIHLO.png



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 :))

t7XVf6.png





 
Son düzenleme:

IDEATHI

Katılımcı Üye
2 Tem 2015
998
0
Şanlıurfa
Normal ConfuserEx (v1) ile maximum protectden gecmiş bir program için bu işlemler uygulansa yada herhang bir yol ile kaynak koda erişim saglanabilirmi ? Modded kullanmanın artıları ve eksileri nelerdir ? Sorularima cevap verirseniz müteşekkir olacağım .
 

anonuser23532

Kıdemli Üye
9 Ara 2017
2,602
12
Normal ConfuserEx (v1) ile maximum protectden gecmiş bir program için bu işlemler uygulansa yada herhang bir yol ile kaynak koda erişim saglanabilirmi ? Modded kullanmanın artıları ve eksileri nelerdir ? Sorularima cevap verirseniz müteşekkir olacağım .

.NET dosyası olduğu için önce IL kodlara çevrilmek zorundadır. .NET uygulamalarında kaynak kodlarının kolay erişilmesine de sebep veren budur. Ne yaparsanız yapın .NET tabanlı uygulamaların IL kodları .net framework e vermesine engel olamazsınız.
Yani demek istediğim şudur ki ne yaparsanız yapın sadece unpack işlemini zorlaştırabilirsiniz ama kesinlikle imkansız hâle getiremessiniz.
Modded kullanmanın artı yanlarından bahsedecek olursak kodlarınızı bilgisiz kişilerin elinden yani de4dotculardan korumuş olursunuz ve bilgisiz kişiler tarafından çözülemez.
Eksi fazla bir yanı olduğunu sanmıyorum fakat uygulamayı ilk çalıştırdığınız vakit yavaş açılmasına sebebiyet verebilir.
Teşekkür ederim iyi forumlar.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.