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.
Judul | Smali / Baksmali Android |
Deskripsi | Jika anda membongkar sebuah apk dengan menggunakan apktools atau droidindo tools yang pernah tips droid ulas pada artikel " Decompil... |
Author | Boz Rakun |
Rating |
4.5/
5 Point
|
0 komentar:
Posting Komentar