834 2782 1 PB
834 2782 1 PB
Abstract
Not all of software (applications) provide the source code directly to the users. Applications with closed source code
only provide ready-made binaries to be installed or run directly, making it difficult for users to learn the structure of
the application along with the source code and components in it. For this reason, reverse engineering needs to be
done on the application. In this research, reverse engineering is carried out on an application on the Android
platform called Tebak_Gambar.apk based on Java. The concept of reverse engineering work in the
Tebak_Gambar.apk file is to decompile the .apk file to get the .jar file, then decompile the .jar file to obtain the
components of the Tebak_Gambar.apk application. The final result of reverse engineering of the Tebak_Gambar.apk
application is the production of the components making up the application, so that it gives more value to help the
user to understand the application structure along with the source code .java, activity scheme .xml, and additional
components (images, audio, fonts ). The drawback is that it cannot find the names of variables, methods, and classes,
so it is necessary to rename according to the understanding of the logic flow of the application concerned.
Abstrak
Tidak semua perangkat lunak (aplikasi) menyediakan langsung sumber kodenya kepada para pengguna. Aplikasi
dengan sumber kode tertutup hanya menyediakan binary siap pakai untuk diinstal atau dijalankan langsung, sehingga
menyulitkan pengguna untuk mempelajari struktur aplikasi beserta sumber kode dan komponen di dalamnya. Untuk
itu, perlu dilakukan reverse engineering pada aplikasi. Pada penelitian ini, dilakukan reverse engineering pada
aplikasi platform Android bernama Tebak_Gambar.apk berbasis Java. Konsep kerja reverse engineering pada file
Tebak_Gambar.apk adalah melakukan dekompilasi file .apk untuk memperoleh file .jar, kemudian melakukan
dekompilasi file .jar untuk memperoleh komponen-komponen penyusun aplikasi Tebak_Gambar.apk. Hasil akhir dari
reverse engineering aplikasi Tebak_Gambar.apk adalah dihasilkannya komponen-komponen penyusun aplikasi,
sehingga memberi nilai lebih yaitu membantu pengembang memahami struktur aplikasi beserta dengan source
code .java, activity scheme .xml, dan komponen tambahan (gambar, audio, font). Adapun kekurangannya adalah
tidak dapat menemukan nama dari variabel, method, dan class, sehingga perlu melakukan penamaan ulang sesuai
dengan pemahaman terhadap alur logika dari aplikasi bersangkutan.
70
JURNAL TEKNOLOGI TERPADU. 8 VOL. 2 OKTOBER 2020 ISSN : 2338 - 66649
yang diperoleh, dapat dipelajari secara lebih engineering pada aplikasi Tebak_Gambar.apk
mendalam. Reverse Engineering terhadap file yang berjalan pada platform android, dengan
binari aplikasi Tebak_Gambar.apk, pertimbangan bahwa aplikasi
menggunakan JD-GUI dan ApkTool pada Tebak_Gambar.apk berbasis Java yang
sistem operasi Linux Ubuntu. disediakan dalam bentuk file binari (.apk),
sehingga perlu dilakukan reverse engineering
2. Metode Penelitian untuk memperoleh source code dan
Metode-metode penelitian yang komponen-komponen pendukung, sehingga
digunakan di dalam penelitian ini, yaitu: dapat dipelajari lebih lanjut.
metode penelitian kualitatif berupa studi kasus, Aplikasi Tebak_Gambar.apk merupakan
metode pengumpulan data berupa studi aplikasi permainan kuis yang dikembangkan
literatur, dan metode pengujian berupa oleh Lukis Cindera dan Irwanto Widyatri pada
BlackBox Testing. Metode-metode penelitian tahun 2013, di mana pemain diberikan sebuah
ini berdasarkan kepada metodologi penelitian gambar untuk diinputkan jawaban pada kolam
Experimental Methodology, yang di dalamnya jawaban yang disediakan [6].Tujuan reverse
meliputi: pemilihan studi kasus, studi literatur, engineering pada aplikasi Tebak_Gambar.apk
implementasi, pengujian, dokumentasi, dan adalah untuk memperoleh source code
publikasi [5]. Bagan diagram alir dari aplikasi, sehingga dapat diketahui struktur dan
Experimental Methodology, ditunjukkan pada komponen-komponennya, agar dapat dipelajari
Gambar 1 di bawah ini: lebih lanjut.
3. Hasil Penelitian
3.1. Implementasi dan Pengujian
Urutan langkah implementasi dan
pengujian, meliputi: backup file .apk dari
aplikasi Tebak_Gambar.apk, ekstraksi
file .jar menggunakan Dex2jar untuk
memperoleh file Tebak_Gambar-
dex2jar.jar, dekompilasi file
Tebak_Gambar-dex2jar.jar menggunakan
JD-GUI untuk melihat isi file
Tebak_Gambar-dex2jar.jar, dekompilasi
file Tebak_Gambar.apk menggunakan
aplikasi ApkTool untuk memperoleh file
lainnya di luar file Java, restrukturisasi file
source code hasil dekompilasi, dan analisa
hasil spesifikasi file source code. Bagan
diagram alir dari urutan langkah
Gambar 1. Bagan alir Experimental
Methodology sebagaimana penjelasan di atas, disajikan
pada Gambar 2 di bawah ini:
2.1. Pemilihan Studi Kasus
Metode penelitian kualitatif berupa studi
kasus yang digunakan di dalam penelitian ini,
71
JURNAL TEKNOLOGI TERPADU. 8 VOL. 2 OKTOBER 2020 ISSN : 2338 - 66649
Gambar 3. Tampilan awal Clean Master Gambar 5. Menu Pengelola Aplikasi pada Clean
Master
• Kemudian memilih menu Alat dan sub menu
menu Pengelola Aplikasi, ditunjukkan pada •Setelah proses backup selesai dilakukan,
Gambar 4: kemudian akan muncul notifikasi sebagaimana
72
JURNAL TEKNOLOGI TERPADU. 8 VOL. 2 OKTOBER 2020 ISSN : 2338 - 66649
73
JURNAL TEKNOLOGI TERPADU. 8 VOL. 2 OKTOBER 2020 ISSN : 2338 - 66649
75
JURNAL TEKNOLOGI TERPADU. 8 VOL. 2 OKTOBER 2020 ISSN : 2338 - 66649
Python) yang penggunaannya cukup banyak Sequence Diagram Pada Sampel Aplikasi
dewasa ini di dunia teknologi informasi. Android," Journal of Information Systems
Engineering and Business Intelligence, Vol.
6. Daftar Pustaka 1, No. 1, April 2015.
[1] Eldad Eilam, Reversing : The Secret of [7] A.P. Aldya, dkk, "Reverse Engineering
Reverse engineering, Crosspoint Boulevard untuk Analisis Malware Remote Access
Indianapolis, Wiley Publishing, Inc, 2005. Trojan," JEPIN (Jurnal Edukasi dan
[2] Y. Kusuma, Membedah Kehebatan Android, Penelitian Informatika) Vol. 5 No. 1 April
Jakarta, DKI: Grasindo, 2011. 2019
[3] Android Studio, Mengenal Android Studio [8] M.R. Redo, "Pendekatan Reverse
(Indonesia).https://developer.android.com/st Engineering Untuk Pengujian Keamanan
udio/intro/index.html?hl=id. 9 april 2018 Guna Meningkatkan Kualitas Perangkat
20.15. Lunak," Jurnal Informatika, Vol. 16, No. 1,
Juni 2016.
[4] Dendy Triadi, Bedah Tuntas Fitur Android, [9] R.F. Waliulu, T.H.I. Alam, "Reverse
Yogyakarta, Jogja Great! Publisher, 2013 Engineering Analysis Statis Forensic
[5] Lukis Cindera, Irwanto Widyatri. Tebak Malware Webc2-Div," Insect (Informatic
Gambar. Google Play Store. 2013. and Security) Jurnal Teknik Informatika
https://play.google.com/store/apps/details?id Universitas <Muhammadiyah Sorong, Vol
=com.tebakgambar&hl=in. 4, No 1, 2018.
[6] V.S. Rahmadani, dkk, "Penerapan Reverse
Engineering Dalam Penentuan Pola Interaksi
76