Reverse Engineering: Cara Bongkar APK Java

Hai, kali ini saya akan share sedikit pengalaman/studi kasus ketika saya sedang oprek-oprek terkait dengan reverse engineering APK khususnya yang dibuat dengan pure bahasa Java.

Awalnya

Pada suatu hari... (dah kayak dongeng aje).

Jadi, beberapa waktu lalu saya mengikuti webinar Orang Siber tentang RE (Reverse Engineering) yang dibawakan oleh mas Satria dari komunitas Reversing ID. Singkat cerita mulailah saya tertarik sama RE ini. Disini saya menggunakan sample APK internal kantor saya yang dibuat (udah lama) menggunakan bahasa pure Java untuk praktek ngopreknya. Setelah googling sana sini dan sempat bertanya juga ke mas Satria akhirnya saya dapat pencerahan. Ternyata untuk me-reverse APK dengan bahasa Java yang tanpa menggunakan proteksi tambahan ini cukup mudah dari yang saya bayangkan. Disini saya menggunakan tools Dex2jar untuk mengekstrak class nya.

Sebelumnya mungkin masih ada yang belum tau kegunaan RE ini, menurut saya pribadi kegunaan RE adalah untuk:

  • Penetration Testing
  • Menemukan endpoint tersembunyi
  • Membaca flow dari suatu aplikasi
  • dll

Caranya

  • Pertama-tama download terlebih dahulu Dex2jar [disini]
  • Jangan lupa di install
  • Setelah itu jalan kan dex2jar (di Windows) dengan perintah path\to\dex2jar\d2j-dex2jar.bat aplikasi.apk
  • Maka dex2jar akan melakukan tugasnya, dan mengeluarkan output file apk dengan ekstensi .jar
  • Nah setelah itu file .jar ini bisa kalian buka menggunakan JD GUI atau sejenisnya

result re

Penutup

Yak.. mungkin itu saja sedikit share dari saya yang noob ini, mohon masukannya bila ada salah-salah kata. Cara yang saya gunakan ini adalah cara yang simple untuk mereverse APK yang simple pula, apabila suatu APK menggunakan suatu proteksi tambahan cara ini ga relevan ya gaes. Terimakasih telah membaca.