Monthly Archives: April 2015

Decompiling APK (Reverse engineering android application)

Lagi tertarik belajar Reverse Engineering, diantara sekian bidang security dalam dunia IT forensic menjadi ketertarkan saya, Reverse Engineering atau RE adalah salah satu teknik yg harus dikuasai. Oke kalo begitu langsung saja kembali ke topik, disini yang akan saya bahas mengenai android di sistem operasi windows, karena dunia RE juga sangat luas.

Rekayasa balik atau rekayasa mundur (bahasa Inggris: reverse engineering) adalah proses penemuan prinsip-prinsip teknologi dari suatu perangkat, objek, atau sistem melalui analisis strukturnya, fungsinya, dan cara kerjanya.[1] Proses ini biasanya melibatkan pemisahan (perangkat mesin, komponen elektronik, program komputer, atau zat biologi, kimia, atau organik) dan analisis terhadap cara kerjanya secara terperinci, atau penciptaan perangkat atau program baru yang memiliki cara kerja yang sama tanpa memakai atau membuat duplikat (tanpa memahami) benda aslinya. Pada dasarnya, prinsip rekayasa balik sama dengan penelitian ilmiah, namun objek yang ditelaah berbeda. Objek yang ditelaah pada riset ilmiah biasanya adalah fenomena alami, sedangkan pada rekayasa balik, objek yang ditelaah adalah benda buatan manusia.(Wikipedia)
jika anda sudah memahami makna atau arti dari reverse engineering, maka kita lanjut ke bagian selanjutnya yaitu tools –
tools yang digunakan, ada banyak tools yang bisa digunakan namun disini saya akan bahas 3 tool sajaYaitu

  • dex2jar : berfungsi untuk menjadikan file apk (dex, dan java class) menjadi file .jar
  • JD-Gui : JD – Gui berfungsi untuk membaca file jar menjadi file .java, artinya kita bisa melihat code seperti saat kita membuat aplikasi java.
  • Apktool : berfungsi untuk decode atau mengembalikan file file resource,layout, atau xml2 lainnya dalam aplikasi android, apktool juga bisa digunakan untuk rebuild secara cepat setelah melakukan sedikit perubahan.

oke kita mulai, dalam postingan ini, untuk aplikasi (apk) nya saya gunakan aplikasi sendiri, bisa juga pake apk yg lain.
ini aplikasi saya, aplikasi ini dibuat dengan android studio, kita juga bisa gunakan eclipse.

simple code

aplikasi ini akan menampilkan hello world ketika di jalankan,
nah sekarang kita mulai menggunakan teknik RE untuk apk nya, buka cmd(command prompt), kemudian arahkan ke folder dimana anda menyimpan tool2 yang sudah saya sebutkan di atas

perintah yg digunakan

 dex2jar.bat namafile.apk 

dex2jar pic

lalu buka dengan jd gui, buka jd gui lalu =>open

jdgui - open files

buka file.jar yang sudah kita decompile.

jdgui - windows

nah, sekarang bisa di baca kan kode nya?, tinggal kita bandingkan dengan code yang sudah kita buat di android studio atau eclipse.

yang sudah kita lakukan hanya di bagian java nya, sekarang kita lanjutkan untukĀ  decompiling file resource dan xml2 lainnya, buka cmd yg sudah kita buka tadi, kali ini kita gunakan apktool.

perintah yang digunakan

 apktool_2.0.0.jar decode namafile.apk 

apktool - decode apk

proses ini akan menghasilkan folder dari hasil decompile, untuk melihat silahkan buka folder app-debug, anda lihat di bagian res, apakah sudah sesuai dengan aplikasi yang anda buat dengan android studio atau eclipse.

bagaimana? mudah kan, semoga bermanfaat dan selamat mencoba.

PERINGATAN Lakukan dengan resiko anda, saya tidak bertanggung jawab jika teknik ini digunakan untuk hal yang tidak baik atau negatif.

referensi : http://www.rsaconference.com/writable/presentations/file_upload/stu-w02b-beginners-guide-to-reverse-engineering-android-apps.pdf