.
Tampilkan postingan dengan label Decompile. Tampilkan semua postingan
Tampilkan postingan dengan label Decompile. Tampilkan semua postingan

Senin, 18 November 2013

Decompile APK, Melihat Source Code Aplikasi Android dari Google Play

Decompile APK, Melihat Source Code Aplikasi Android di Google Play bisa dimanfaatkan untuk melihat kode program dari Aplikasi Android yang sudah dalam bentuk APK. Sebenarnya judul diatas terlalu "berani" hehe, karena sebenarnya tidak semua APK dapat dilihat semua bagian source codenya. Dan sepertinya ada cara untuk mengakali agar APK tidak dapat dicompile karena penulis pernah membuktikan sendiri beberapa buah Aplikasi Komersial dari Google Play tidak dapat di-decompile menggunakan decompiler apktool ataupun dex2jar. Atau hasil Kode Programnya berantakan

Pertama yang kita butuhkan tentu saja file APK dari Aplikasi Android yang bisa saja telah terinstall di Perangkat Handhone / Tablet kita.
 
Nah selanjutnya yang kita butuhkan adalah software apktool untuk mengekstrak file resources, gambar dan xml. Kemudian kita butuhkan juga aplikasi dex2jar untuk mendecompile file dex menjadi jar. Terakhir kita butuhkan aplikasi jd2_gui yaitu aplikasi pembaca source code dari file jar.

Download android-apktool dapat didownload disini. Kemudian dex2jar dapat didownload disini dan jd2_gui dapat diunduh disini.

Langkah pertama buat folder dengan nama decompiler, misalnya di D:\decompiler. Kemudian di dalamnya buat direktori apktool, dex2jar, jd2_gui, package dan result seperti ini :



Setelah itu ekstrak dan masukkan program yang anda telah download, yaitu android-apktool di folder D:\decompiler\apktool :


Kemudian dex2jar di direktori D:\decompiler\dex2jar :


Kemudian jd2_gui di folder D:\decompiler\jd2_gui


Untuk mempraktekkan cara decompile APK kita gunakan APK sebagai conroh Android Camera Intent  Masukkan AndroidCameraIntent.apk di folder package :


Setelah itu buka DOS Prompt dengan cara klik Start-Run, kemudian ketikkan :

 cd \

 D:

 cd decompiler\apktool

 apktool.bat d D:\decompiler\package\AndroidCameraIntent.apk D:\decompiler\result\AndroidCameraIntent

Hasilnya :


Setelah itu ketikkan :

 cd D:\decompiler\dex2jar

 dex2jar.bat D:\decompiler\package\AndroidCameraIntent.apk

Jika terjadi error seperti ini, sepertinya RAM anda kurang besar :

Error occurred during initialization of VM
Could not reserve enough space for object heap

Maka buka file D:\decompiler\dex2jar\dex2jar.bat dengan Notepad kemudian edit pada baris berikut ini :
...
java -Xms512m -Xmx1024m -cp "%CLASSPATH%" "com.googlecode.dex2jar.v3.Main" %*
...

Menjadi :
...
java -Xms256m -Xmx512m -cp "%CLASSPATH%" "com.googlecode.dex2jar.v3.Main" %*
...
Kemudian simpan dan tutup, ulangi perintah berikut ini di DOS Prompt :

 dex2jar.bat D:\decompiler\package\AndroidCameraIntent.apk

Seharusnya hasilnya :

Terakhir hasil dari decompile dapat dilihat menggunakan Aplikasi jd2_gui, klik Open, buka file D:\decompiler\package\AndroidCameraIntent_dex2jar.jar Hasilnya :

Sedangkan file resources gambar dan xml dapat dilihat di direktori D:\decompiler\result\AndroidCameraIntent

Silakan digunakan untuk belajar dengan baik, jangan membajak karya orang lain, cukup pelajari tekniknya dan kita buat aplikasi sendiri sesuai ide dan kreatifitas kita.

File-file tool yang dibutuhkan dan contoh APK maupun hasil decompile dapat didownload disini.

 Semoga menyenangkan ^_^

Senin, 29 Oktober 2012

Cara Mudah Decompile atau Decode atau Membedah Source Code Aplikasi .apk Android [Windows]


Decompile atau decode adalah sebuah proses untuk menerjemahkan ulang sebuah aplikasi ke bentuk semula (source code), setidaknya itu pengertian secara simplenya. Hehe. Kali ini saya akan mengshare tentang cara decompile sebuah aplikasi .apk android. Walau tidak sepenuhnya menjadi sebuah project full yang bisa di buka kembali di eclipse (baca: editor) tapi setidaknya kita bisa melihat source2nya (hehe). Ide ini terinspirasi karena rasa penasaran saya ingin melihat source code yang ada didalam .apk (intinya sih merubah sesuatu jadi simple :D ).
Kemudian untuk alasan kenapa OS yang digunakan windows, karena faktor kenyamanan. Setelah Mac OS, saya rasa windows yang paling nyaman untuk membuat sebuah aplikasi android. Kenapa tidak linux?? Jujur saya males ngeset pembacaan serial device handphone yang kita gunakan sebagai media testing, kan kalo diwindows tinggal tancep terus run aja tuh aplikasi dari eclipse.
Baik sebelum memulai proses tersebuat persiapkanlah tool sebagai beriku :
1. Apktool (untuk media menggenerate selain .java dalam project android)
2. Dex2jar (untuk media menggenerate .java dalam project android)
3. Jd gui (untuk media membuka .jar untuk melihat .java hasil decompile dex2jar)
Download list diatas sebagai media decompile kita nanti, hehe :D (jangan lupa pilih yang under windows lho).
Setelah selesai kita coba Apktool dulu
Buka direktori C:\WINDOWS kemudian buat aja folder apktool terus copy kan hasil extractapktool-install-windows-r04-brut1.tar.bz2tadi. setelah itu buka cmd (command prompt windows dab). Masukklah direktori C:\WINDOWS\apktool melalui perintah
cd C:\WINDOWS\apktool
Sekarang siapkan file .apk . Misalkan saya disini punya widhiecyber.apk yang saya letakkan didirectory D:\ maka saya gunakan perintah seperti ini dalam cmd:
apktool d D:\widhiecyber.apk D:\hasildecodewidhiecyber
Jadi widhiecyber.apk akan di decode dan hasilnya akan ada pada folderhasildecodewidhiecyber. Monggo dilihat hasilnya :D
Sekarang kita akan mencoba dex2jar, sebenarnya konsepnya hampir sama dengan apktool tadi yaituBuka direktori C:\WINDOWS kemudian buat aja folder dex2jar terus copy kan hasil extractdex2jar-0.0.9.7.zip tadi. setelah itu buka cmd meneh dab :D (command prompt windows). Masukklah direktori C:\WINDOWS\dex2jar melalui perintah
cd C:\WINDOWS\dex2jar
Melanjutkan yang tadi ya. widhiecyber.apk yang sudah saya letakkan didirectory D:\ maka saya gunakan perintah seperti ini dalam cmd:
dex2jar.bat D:\widhiecyber.apk
Nanti file yang kita eksekusi tadi berubah eksitensinya menjadi .jar. Kita manfaatkan Jd gui  untuk membuka file .jar tersebut. Untuk menggunakan jd gui mudah kok, tinggal kita open file aja .jar android yang kita buat tadi. Nanti akan ada bentuk package source code. Tapi masih banyak kekurangan, yaitu untuk pengarahan layout atau .xml android di .jar berubah menjadi semacam alamat biner. Tp tak masalah, kan kita bisa menjadi tahu bagaimana sih pembuatan tuh aplikasi :) . Berikut ini sekadar beberapa screenshoot. dan semoga yang sedikit ini bisa bermanfaat bagi kita semua. Amin…
screenshot apktool
screenshot apktool
screenshot dextojar
screenshot dextojar
screen shot jd-gui
screen shot jd-gui