
Appfuscator ile pack edilmiş bir .net programı nasıl unpack edilir ve gerekli araçlar nedir bu konu hakkında yazacağım ve unpack işlemi için gerekli olan araçları sizlerle paylaşacağım. Öncelikle bir exe dosyasının appfucator ile pack edildiğinden emin değilseniz bazı işareletlere bakabilirsiniz. Üst kısımda bulunan resimdeki gibi form isimleri jb mb kl gibi harfler içerisiyorsa büyük ihtimal appfuscator ile packlenmiştir.

Eğer programın başlama aşamasında calli(system.void gibi kodlar görüyorsanız bu da appfuscator ile packlenmiş anlamı taşımaktadır. Şimdi resimli şekilde nasıl unpack edeceğiz bunu gösterelim.
AppFuscator Calli Nasıl Unpack Edilir?
Şimdi packlenmiş programı dnSpy programı ile açıyorum. Eğer bilgisayarınızda dnspy yok ise buraya tıklayıp indirin.

Gördüğünüz gibi programımız tek harf olarak form isimleri değişmiş ve ekstra form isimleri eklenmiş. Şimdi kodlarımıza göz atalım. Programın orjinal şifrelenmemiş kodlarını öncelikle sizlere göstereyim.

Basit bir şekilde şifre kontrolu yapan 4 satırlık bir kod. Burada kodlarımız packlenmemiş açık şekildedir. Şimdi appfuscator ile şifrelenmiş halini sizlere göstereyim.

Appfuscator ile şifrelendikten sonra gördüğünüz gibi kodlarımız tamamen değişmiş. Form1 olan form ismimiz a olarak değiştirilmiştir. Şimdi bu kodları temizleyerek program içerisindeki şifreyi bulalım.

Appfuscator unpack tools klasörünü açıyorum ve önce gizlenmiş kodlardaki calli komutunu temizliyorum.

Appfuscator Calli exe isimli uygulamayı açtım ve program içerisindeki browse butonu ile şifrelenmiş exe dosyasını programda açarak restore butonuna bastım. Bu işlem sonucunda herhangi bir calli olan kod satırı bulunmadığı için 0 replaces made olarak verdi.
Şimdi diğer toolsları kullanarak tekrar bakalım.

Aynı işlemi diğer tools olaran unpacker.exe ile denediğimde 105 adet değiştirme işlemi yaptığını görmekteyim. Şimdi dnspy üzerinden şifrelenmiş kodlara bir bakalım neler değişmiş.

işlem sonrasında tekrar kodlarıma baktığımda biraz daha normal gibi görünüyor ama hala şifreyi göremiyorum. Şimdi diğer appfuscator unpack tools ile deneyelim. Burda önemli olan şey unpack işlemleri yaptığınızda program sizlere yeni bir exe olarak verecektir. Bu exe üzerinden tekrar yeni unpackeri kullanmalıyız.

Kırmızı ok ile gösterilen orjinal şifrelenmiş exe , yeşil ile gösterdiğim ise unpack işlemi yapılan exe.

3. işlemde ise appfuscator String Decryptor kullanarak stringler üzerinde temizleme yapıyorum. Şimdi tekrardan yeni oluşan exe dosyasını dnspy programında açalım.

Gördüğünüz gibi string temizleme işleminden sonra programın şifresini görebiliyoruz. Artık bu şifre ile birlikte programa giriş yapabiliriz. Appfuscator unpack işlemi bu şekilde yapılmaktadır. Unpack işleminden kullandığım programları aşağıdan indirebilirsiniz.