Selasa, 16 Desember 2014

Decompile APK, Melihat Source Code Aplikasi Android dari Google Play




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. Untuk mendapatkannya anda bisa
Menggunakan Aplikasi MyAppSharer untuk Mendapatkan APK dari Aplikasi yang sudah Terinstall seperti di artikel ini


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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR3kkaKUsqqwV8qW4G3ScyDM4Vie6wsEM-0ArAYhgqAO5bEVyvfabjq72SGNwMLAUYC_ImKwKjSsRl70I1kdfjPRw2G6aTaUFcKfhXCPAffuJ_AsXo7N9IkC-a7rGJw-w7RmU-N4euSn7Y/s320/1.png

Setelah itu ekstrak dan masukkan program yang anda telah download, yaitu android-apktool di folder D:\decompiler\apktool :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKRtLj6J3p66PkRxwkrh8BtKF280lY33QUAofUigNKAnuOWgYXEYqbsio54iNm6wDCpFLfoK5JVNCvNvFqaa2xOCyrmjKWxE6aeWk19hnViteK6_g7VdjhMeltrtqpLMOLLwZZ_zCS6FWf/s320/2.png

Kemudian dex2jar di direktori D:\decompiler\dex2jar :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD8wkbwqgBTsEfnMGyW5AKRfK_rr9Qbwnr4rVsVN669auODHQIh_hXn_HIYq5V0_ZL11_56WMtQk-8XcD9vbgPjL5-WH1kvCxuJSP1ZlQ_91tHCavH4ha16PjWZpKX6UH1M0Ic9csRbWem/s320/3.png

Kemudian jd2_gui di folder D:\decompiler\jd2_gui
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjihimjZ1ebxyMG-BMEiyp1NoQU3tFTP4YsiEU9w6EZvMbFOtIMxrRFk6NNRlqmoiwEAQKRHOZBBzZEZm5slIQFk25hcLoXf84g_Dc7fbhL5W9VB6eUk4gpjVn6l2msWhqzerJ3YH0OvptJ/s320/4.png

Untuk mempraktekkan cara decompile APK kita gunakan APK dari
Project Android Camera Intent di artikel ini. Masukkan AndroidCameraIntent.apk di folder package :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifcDApkz-D0ikc7VJmmvzrkFbiWs2qUcZjMAJDoyHchmwjggVQ14jKBN12rmniUphq-tUyo0F1gsblwOGo_O2UVw-VRth7NCAaNbYOz5aYVHkhKVCYTM2R4v7MDOv5Ltw_B-vLnVmbvKqN/s320/9.png

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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO84th09-1LoMUe0-gLPbhPKeH484glxtIXeX8RFziJrciXJ5fm8KeiMQECPSuCCskEf0kfjw5TpexNyKikPXr3deIWNNXvU9xHNkUfB2Den09TlaiabB4LD2N6Yp4d6YlEAGqdibPIIkz/s320/6.png

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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj85BHnK4f9gTGkShIDOb54FPkKHDh12_vuJIMeo5cwO5do84DYinK96Yo0qXrACTSAO3hZMNCl7ske9GQ-NmnbhOqYYyx2nKz7XebObh06ums-iWXGwp9CjpXuHR5hFol6yYLTCJcfgEls/s320/8.png

Terakhir hasil dari decompile dapat dilihat menggunakan Aplikasi jd2_gui, klik Open, buka file D:\decompiler\package\AndroidCameraIntent_dex2jar.jar Hasilnya :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd87LZPj1_0wwSHLPBRTKQyBGb18eNbOtn9XXFHbM2-PBTnw10x7OVV7CP2NU4TbPlBVk5a3IN8QsEm6KS2WHbhfRo-Dewx6Yv9fyStiWDT-SIgpFDLXn3tRYXacazzMxzezbFlQvS0Xeb/s320/10.png

Sedangkan file resources gambar dan xml dapat dilihat di direktori D:\decompiler\result\AndroidCameraIntent
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpUnUd2PVkqVG5lfBxPvh4HVVB6RwAduk5WZgj2DRkeQk19z0SD72vYwThPbDc7VVSUeEpZop1GgRHpZITY1BLftTnbR1IlPFlVOfw15aipOMiOsV-hYF5gOzsOZ9bLBs_BHymGE8aF58o/s320/7.png

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. Jika kesulitan coba dibaca cara downloadnya disini.