Android Reversing: Debug Decompiled Smali

Bu yazımda sahibi olmadığımız bir android uygulamasını decompile edip debug modda inceleyeceğiz.

Benim şuan kullandığım Android Studio versiyonum 3.4.2.

Öncelikle debug edeceğimiz uygulamanın smali dosyalarını çıkarmak için decompile ediyoruz bunun için ben apkeasytool kullandım.

Daha sonra smali klasörünü bir yere ayırıyoruz. Ben smali klasörünü proje diye isimlendirdim.

Open an existing Android studio project seçeneği ile proje klasörümüzü açıyoruz. Proje açıldıktan sonra;

File->Settings->Plugins yolunu izleyerek Gear ikonuna tıklayıp indirdiğimiz Smalidea eklentisini kuruyoruz (Buradan İndirilebilir) ve Android Studio’yu yeniden başlatıyoruz.

Tekrar açtığımızda proje klasörüne sağ tıklayarak.
Mark Directory as Test Sources Root diyoruz.


Şimdilik Android Studioda yapılacaklar bu kadar, şimdi decompile ettiğimiz uygulamanın AndroidManifest.xml dosyasını açıp application tag’ine android:debuggable="true" yazarak debug modunu etkinleştiriyoruz.

Sonra apkeasytool ile compile ettiğimiz uygulamayı telefonumuza kuruyoruz.Kurulum bittikten sonra Geliştirici Seçeneklerine gidip Select Debug App seçeneğinden uygulamamızı seçiyor Wait for debugger‘i etkinleştiriyoruz. Sonra uygulamayı çalıştırıyoruz. Şu ekranı gördükten sonra işleme Android Studio ile devam edeceğiz.

Android SDK’sının içerisinde

\Sdk\tools\lib\monitor-x86_64\monitor.exe uygulamasını çalıştırıyoruz.

Telefonumuzu ve altında uygulamamızı görüyorsak telefonda yaptığımız işlem başarılı demektir.

Android studiodan Edit Configurations seçeneği ile + butonuna tıklayarak Remote ekliyoruz ve port numarası olarak da 8600 yazıyoruz.

Sonra debug butotuna tıklıyoruz.

Her şey doğru yapıldıysa debug başlayacaktır.