Decompile compile edit APK Android dengan Smali / Baksmali
Jika anda membongkar sebuah apk dengan menggunakan apktools atau droidindo tools yang pernah tips droid ulas pada artikel "Decompile compile edit APK android". Anda pasti akan menemukan file smali. Pada artikel ini tips droid hendak berbagi kepada anda tentang smali dan baksmali.
Sebelum membahas lebih jauh ada baiknya jika anda mengetahui terlebih dahulu apakah dan bagaimana mendapatkan file smali.
Arti smali / baksmali
Smali / baksmali adalah
assembler / disassembler untuk format dex digunakan oleh Dalvik, Android
Java VM implementasi. Sintaks tersebut didasarkan pada Jasmin / sintaks
dedexer, dan mendukung fungsionalitas penuh dari format dex
(penjelasan, info debug, info jalur, dll)
Istilah nama "smali" dan
"baksmali" berasal dari bahasa Islandia "perakit" dan
"disassembler". Anda pasti bertanya, mengapa Islandia? Karena istilah
Dalvik berasal dari nama sebuah desa nelayan di Islandia (sumber).
Bagaimana mendapatkan file smali
Anda dapat menggunakan
beberapa tools untuk decompile sebuah apk dan mendapatkan file smali
tersebut, beberapa tools diantaranya:
1.ApkTool
4.Dan masih banyak lagi tools yang dapat anda cari di internet.
Setelah anda decompile
apk, biasa akan didapat file dengan ekstensi smali. Dapat juga anda
decompile file .dex untuk mendapatkan file smali dengan menggunakan
tools di atas. Sebagai contohnya ketika anda menggunakan apktool.
Code:
java -jar baksmali-0.93.jar -o <direktori output> <.dex file, nama khas classes.dex>
Contoh: java -jar baksmali-0.93.jar -o out/rakun/dexout/ rakun-classes.dex
java -Xmx512M -jar smali-0.92.jar <direktori output hasil langkah di atas> -o <nama baru untuk file output .dex>
Contoh: java -Xmx512M -jar smali-0.92.jar out/rakun/dexout/ -o new-rakun.dex
Bagaimana cara mengedit file smali tersebut
Anda dapat menggunakan berbagai cara diantaranya menggunakan aplikasi
notepad++ (anda dapat mencari dan download dari internet atau dapat juga
dengan droidindo tools, karena droidindo tools dilengkapi notepad++).
Dalam melakukan pengeditan mungkin anda akan dihadapkan pada sintaks
java, karena seperti yang telah dijelaskan tips droid di atas dimana
smali merupakan bagian dex yang digunakan dalvik.
Beberapa kode dalvik
Berikut adalah beberapa kode dalvik <untuk pengembangan lanjut, anda
dapat menggunakan logika anda dalam melakukan pengeditan file
tersebut>.
Catatan:
1.Perhatikan bahwa nilai
ganda dan panjang menempati dua register (misalnya nilai yang ditempati
oleh vy terletak di vy dan vy +1 register)
2.Nilai offset bisa positif atau negatif dan itu dihitung dari offset
byte mulai dari instruksi. Offset selalu diperhatikan dalam kata-kata (2
byte per 1 kenaikan nilai offset / penurunan). Offset ke negatif
disimpan dalam format melengkapi dua hal itu. Posisi saat ini adalah
offset byte mulai dari instruksi.
3.Bandingkan operasi nilai return positif jika operand pertama lebih
besar dari operand kedua, 0 jika mereka nilai yang sama dan negatif jika
operand pertama lebih kecil dari operand kedua.
4.Beberapa tidak dapat terlihat pada sintaks, hali ini diinterpolasi dari daftar bytecode Dalvik.
5.Parameter encoding pada daftar terkadang agak aneh. Mulai jika nomor
parameter > 4 dan parameter nomor 4% == 1, parameter (urutan 9, dll)
urutan 5 dikodekan pada bit 4 terendah dari byte segera mengikuti
instruksi. Anehnya, pengkodean ini tidak digunakan dalam kasus 1
parameter, dalam hal ini kata 16 bit seluruh ditambahkan setelah indeks
metode yang hanya 4 bit digunakan untuk mengkodekan parameter tunggal
sedangkan bit 4 terendah dari byte mengikuti instruksi byte tidak
digunakan.
6.Instruksi yang mempunyai angka no "6" pada list di atas, tidak dapat
digunakan pada setiap file dan hanya terjadi pada file ODEX.
7.Jika ada kesalahan dalam menulis sintaks pada artikel ini mohon tinggalkan komentar. Terima kasih.
Description :Smali / Baksmali Android
Rating Blog :5
Ditulis Oleh :Maxi Inovasi
Terima Kasih Sudah Berkunjung, Semoga Artikel Ini Bermanfaat.
0 comments:
Posting Komentar
PEDOMAN KOMENTAR
Ayo berpartisipasi membangun budaya berkomentar yang baik. Pantang bagi kita memberikan komentar bermuatan menghina atau spam.
Kolom komentar tersedia untuk diskusi, berbagi ide dan pengetahuan. Hargai pembaca lain dengan berbahasa yang baik dalam berekspresi. Setialah pada topik. Jangan menyerang atau menebar kebencian terhadap suku, agama, ras, atau golongan tertentu.
Bangun sharing ilmu dengan berkomentar disini :