Ubah file berekstensi apk ke java

Sebuah file berekstensi .apk bagi pengguna android tentu sudah tidak asing lagi. File dengan ekstensi .apk ini sering kali digunakan untuk meng-install aplikasi ke dalam device miliknya secara offline, sehingga tidak perlu menggunakan koneksi data agar dapat terhubung dengan google play strore.

Tapi bagaimana jika para pengembang ingin mempelajari logika kerja dari aplikasi berekstensi .apk tersebut sehingga bisa dirubah menjadi source code dalam ekstensi java? Seperti yang kita ketahui ketika kita mengembangkan aplikasi android, kita menggunakan file berekstensi .java. File tersebut akan dikompilasi menjadi dex agar dapat berjalan pada Dalvix Virtual Machine (DVM). File-file dex inilah yang akan dibungkus menjadi .apk. File berekstensi .apk ini bisa kita ilustrasikan seperti sebuah archive (zip file). Sehingga kita perlu meng-ekstract filenya menjadi file-file berekstensi .java.

>> Cara melakukannya :

Convert apk to jar :
1. Download dulu file berekstensi .apk di PC anda
2. Download Dex2Jar disini. Setelah itu ekstrak file .zip tersebut
3. Jalankan perintah untuk convert apk to jar
- Buka cmd
- Arahkan pada folder tempat Dex2Jar tadi berada
- Lalu ketik :
dex2jar targetapp.apk





Setelah dijalankan, maka file 'targetapp.apk.dex2jar.jar' akan terbentuk.


Decompiling the Jar files to Java :
- Cara Pertama
1. Download dulu JavaDecompiler disini
2. Buka file yang telah teman-teman ubah dari apk menjadi jar tadi dengan menggunakan JS-GUI yang sudah teman-teman download.




- Cara Kedua
1. Download dulu JAD disini
2. Extract file jar ke folder dengan nama "src". Gunakan utility seperti winzip, winrar dan sejenisnya. (folder "src" harus berada menjadi satu dengan folder dimana file JAD dan targetapp.jar tadi berada).



3. Buka file dengan menggunakan JAD. Dengan cmd jalankan dengan menggunakan perintah berikut :
jad -o -r -sjava -dsrc src/**/*.class


4. Oke! Sekarang folder src akan berisi file java yang telah dicompile yang siap untuk diperiksa dan dipelajari kode manualnya. 




Catatan : 
Ada beberapa file .apk yang di proteksi oleh pengembang (developer), sehingga tidak semua file .apk bisa di decompile.

Sumber : https://maxiandroid.blogspot.com/2012/03/decompile-apk-menjadi-java-source-code.html