Natural

natural

Breaking News

ConfuserEx v1.0.0



 

NET uygulamasının gizlemesini kaldırmak için bir adım adım

Bu blog gönderisinde, ConfuserEx korumalı bir .NET uygulamasının gizlemesini nasıl kaldıracağınızı göstereceğim .


Ne yazık ki, YouTube'da bu tür programların nasıl gizleneceğine dair çok sayıda video var, ancak bu videolar çok karmaşık ve talimatlar ya kıvrımlı ya da iyi bir sonuç vermiyor.

Başlayalım.

Adım 1 - İkili dosyanın incelenmesi

DnSpy aracını buradan edinmeniz gerekecek: https://github.com/0xd4d/dnSpy/releases

Programı dnSpy ile açın (veya sürükleyip bırakın):

İlk incelemede, 4. satırdaki giriş noktasının adı nedeniyle (çok şifreli olduğu için) şaşırtma olduğunu söyleyebiliriz. Ek olarak, "ConfusedTest.exe" düğümüne tıklarsanız, daha fazla öznitelik ve obfuscator adını (ConfuserEx v1.0.0-4-g3fd0d55) göreceksiniz:



Ayrıca r-tıklayıp “<Modül> .cctor'a Git” seçeneğini seçebilir ve modül yapıcısını inceleyebilirsiniz:



Modül yapıcı kodu, gerçek program giriş noktasından önce çalışır:



Burada, oyunda daha fazla kontrol akışının gizlendiğini görebiliriz.

Adım 2 - İkili dosyayı de4dot ile temizleme

Bu adım için de4dot'a (bir .NET deobfuscator) ihtiyacınız var. Komut satırından aşağıdaki gibi çalıştırın:



Bu adımı yaptıktan sonra, “ -cleaned.exe ” sonekine sahip yeni bir yürütülebilir dosya edinmelisiniz .


Adım 3 - Dizelerin şifresini çözme

ConfuserEx, program tarafından kullanılan tüm dizeleri şifreler ve bu nedenle dizelerin şifresini çözmek için başka bir araca ihtiyacımız var. EXE'ye (sol tarafta) r-tıklar ve "Giriş Noktasına Git" i seçersek:



Ana işlevi görebiliriz ve iki şey nettir:

  1. Dizeler düz metinde değil
  2. ve kontrol akışı gizlenmiştir.

Dizelerin şifresini çözmek için ConfuserExStringDecryptor.exe adlı bir araç kullanacağız . Bu aracı internette (veya aşağıdan) bulabilirsiniz.



2. adımdan aldığımız yürütülebilir dosyayı dizelerin şifre çözme aracına sürükleyip bırakın ve ardından “Şifreyi Çöz” seçeneğine tıklayın. Yeni bir yürütülebilir dosya almalısınız.

Giriş noktasında yeni yürütülebilir dosyayı inceleyin ve düz metin dizelerine dikkat edin:



Adım 4 - Kontrol akış grafiğinin gizlemesini kaldırma

Şimdi kod böylece kontrol akışını deobufscate zorunda Main az ya da çok bir insan (ve bir makine / obfuscator oluşturulan kodu) tarafından yazılmış kodu gibi görünüyor.

Bu adım için " ConfuserExSwitchKiller.exe " adlı bir araç kullanıyoruz :










Başarılı bir kontrol akış gizlemesinin kaldırılmasından sonra Giriş Noktasını yeniden incelersek çok daha temiz bir kod görebiliriz.







Yine de, bazı yöntem isimlerinin sahte isimlere sahip olduğunu bilmelisiniz. Fonksiyon adlarını geri yüklemek için el ile yeniden düzenleme yapmanız gereken yer burasıdır.

Adım 5 - Programın çalışması için temizlenmesi

Bu adımda, obfuscator'dan kalan bazı kodları temizlemeliyiz. Buradaki fikir, modülün cctor () içindeki koddan kurtulmaktır .



R tıklayın ve modülün cctor'una () gidin . Yukarıdaki gibi birkaç işlev çağrısı görebilirsiniz. Şimdi ilk işlev çağrısına R tıklayın ve "IL talimatlarını düzenle" yi seçin:



Daha sonra 3 çağrıyı da HİÇBİR olarak düzenlemeliyiz (NOP: "İşlem Yok" anlamına gelir).



Cctor () işlevi kaybolana kadar (artık boş bir gövdeye sahip olduğundan ) her işlev çağrısı için bu adımı tekrarlayın .



Adım 6 - Son ikiliyi kaydetme

Bu, değişikliklerimizi diske geri kaydettiğimiz ve temiz / gizlemesi kaldırılmış bir ikili dosyaya sahip olduğumuz son adımdır:



Sadece "Dosya / Kaydetme modülü" seçeneğini seçin ve ikili programa yeni bir ad verin.

Çalıştırmayı denerseniz yeni kaydedilen ikili program çalışmalıdır. Sorunla karşılaşırsanız, tekrar kaydetmeyi deneyebilirsiniz, ancak bu sefer "MD Writer Options" sekmesinde aşağıdaki gibi bazı seçenekleri değiştirerek:



Son notlar

ConfuserExStringDecryptor.exe ve ConfuserExSwitchKiller.exe ile çalışma I386 sadece modülleri. Bu nedenle, ikili programınız bir x64 ikili dosyasıysa , Adım 2'den Adım 6'ya geçmeden önce onu bir I386 programı olarak kaydetmek isteyebilirsiniz .

Bunu, "Modülü Kaydet" iletişim kutusundaki "PE" sekmesindeki "Makine" alanını şu şekilde değiştirerek yapın:









Hiç yorum yok