Minggu, 24 September 2017

Decompile APK Menjadi Java Source Code

Sebuah file berekstensi .apk, bagi para pengguna android tentu sudah tidak asing lagi, apalagi bagi seorang pengembang aplikasi berbasis android. File-file dengan ekstensi apk ini kerap sekali digunakan oleh para pengguna android untuk menginstall suatu aplikasi ke dalam device miliknya secara offline sehingga tidak perlu menggunakan koneksi data agar dapat terhubung dengan google play store. File apk dapat di ilustrasikan sebagai sebuah archive (zip file) yang mengandung Dalvix Executable file (berekstensi dex).
Dari sisi developer, ketika kita mengembangkan suatu aplikasi android, kita menggunakan file-file berekstensi java. File-file java tersebut akan dikompilasi menjadi dex agar dapat berjalan pada Dalvix Virtual Machine (DVM). File-file dex ini akan dibungkus menjadi apk. Bagaimana jika seorang developer yang ingin mempelajari logika kerja dari suatu aplikasi? Tentu saja hal ini memerlukan proses kebalikan dari yang biasa digunakan untuk membuat sebuah file apk. Bagaimana caranya ketika kita memiliki file apk dan kita ingin melihat source code javanya untuk dipelajari?

Jika pada artikel sebelumnya yang berjudul "Edit APK Pada Android", saya telah menuliskan bagaimana cara untuk membongkar sebuah file apk, kali ini saya akan mencoba menuliskan bagaimana caranya agar suatu file apk bisa menjadi java source sehingga dapat kita pelajari bagaimana logika kerja file tersebut.

Cara untuk melakukannya:
Covert apk to Jar
1.Download aplikasi yang akan ada pelajari pada google play store, anggap saja nama aplikasi tersebut adalah "apptarget" kemudian backup aplikasi tersebut menggunakan ES File Xplorer (Caranya di sini)

2.Pindahkan file yang telah anda backup (anggap saja namanya "apptarget.apk") tadi ke PC atau laptop anda.

3.Download Dex2Jar (link). Setelah didownload, ekstrak file .zip tersebut.


4.Jalankan perintah untuk convert apk to jar
dex2jar targetapp.apk (./dex2jar targetapp.apk on terminal)
File ‘targetapp.apk.dex2jar.jar’ akan terbentuk setelah anda melakukan langkah ini.

Decompiling the Jar files to Java
Langkah 1 Dengan JavaDecompiler (JD):
1.Download JavaDecompiler di sini

2.Buka file yang telah anda rubah dari apk menjadi jar tadi (sebagai contoh :‘targetapp.apk.dex2jar.jar’) dengan menggunakan JD-GUI yang telah anda unduh
Langkah 2 JAD:

1.Extract file jar ke folder dengan nama "src". Gunakan utility tools seperti 7zip, winzip, winrar.
2.Folder "src" berada menjadi satu dengan folder dimana file JAD dan targetapp.jar tadi berada

3.Buka file dengan menggunakan JAD yang dapat diunduh di sini dengan cmd dan jalankan dengan menggunakan perintah berikut ini:
jad -o -r -sjava -dsrc src/**/*.class (./jad on terminal)
4.Sekarang src akan berisi file Java yang telah di decompiled yang siap untuk diperiksa dan dipelajari kode manualnya.

Catatan:
1.Ada beberapa file apk yang di proteksi oleh developer, sehingga tidak semua file apk bisa di decompile
2.Saran saya sebelum menggunakan cara ini ada baiknya jika anda menginstall java terlebih dahulu (link)
3.Untuk mengembalikan menjadi apk anda dapat menggunakan berbagai cara, salah satu diantara beberapa cara itu telah saya bahas pada artikel sebelumnya dengan judul "Konversi Aplikasi Java"

Tidak ada komentar:

Posting Komentar