Smali / Baksmali Android

Jika anda membongkar sebuah apk dengan memakai apktools atau droidindo tools yang pernah tips droid ulas pada artikel "Decompile compile edit APK android". Anda niscaya akan menemukan file smali. Pada artikel ini tips droid hendak menyebarkan kepada anda perihal smali dan baksmali.

Pendahuluan
Sebelum membahas lebih jauh ada baiknya jikalau anda mengetahui terlebih dahulu apakah dan bagaimana mendapat file smali.

Arti smali / baksmali

Smali / baksmali yakni assembler / disassembler untuk format dex dipakai oleh Dalvik, Android Java VM implementasi. Sintaks tersebut didasarkan pada Jasmin / sintaks dedexer, dan mendukung fungsionalitas penuh dari format dex (penjelasan, isu debug, isu jalur, dll)


Istilah nama "smali" dan "baksmali" berasal dari bahasa Islandia "perakit" dan "disassembler". Anda niscaya bertanya, mengapa Islandia? Karena istilah Dalvik berasal dari nama sebuah desa nelayan di Islandia (sumber).


Bagaimana mendapat file smali

Anda sanggup memakai beberapa tools untuk decompile sebuah apk dan mendapat file smali tersebut, beberapa tools diantaranya:


4.Dan masih banyak lagi tools yang sanggup anda cari di internet.

Setelah anda decompile apk, biasa akan didapat file dengan ekstensi smali. Dapat juga anda decompile file .dex untuk mendapat file smali dengan memakai tools di atas. Sebagai contohnya ketika anda memakai 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 gres 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 sanggup memakai banyak sekali cara diantaranya memakai aplikasi notepad++ (anda sanggup mencari dan download dari internet atau sanggup juga dengan droidindo tools, alasannya yakni droidindo tools dilengkapi notepad++).

Dalam melaksanakan pengeditan mungkin anda akan dihadapkan pada sintaks java, alasannya yakni ibarat yang telah dijelaskan tips droid di atas dimana smali merupakan bab dex yang dipakai dalvik.

Beberapa kode dalvik
Berikut yakni beberapa kode dalvik <untuk pengembangan lanjut, anda sanggup memakai budi anda dalam melaksanakan 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 sanggup aktual 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 dikala ini yakni offset byte mulai dari instruksi.

3.Bandingkan operasi nilai return aktual jikalau operand pertama lebih besar dari operand kedua, 0 jikalau mereka nilai yang sama dan negatif jikalau operand pertama lebih kecil dari operand kedua.

4.Beberapa tidak sanggup terlihat pada sintaks, hali ini diinterpolasi dari daftar bytecode Dalvik.

5.Parameter encoding pada daftar terkadang agak aneh. Mulai jikalau 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 dipakai dalam masalah 1 parameter, dalam hal ini kata 16 bit seluruh ditambahkan sehabis indeks metode yang hanya 4 bit dipakai untuk mengkodekan parameter tunggal sedangkan bit 4 terendah dari byte mengikuti kode byte tidak digunakan.

6.Instruksi yang memiliki angka no "6" pada list di atas, tidak sanggup dipakai pada setiap file dan hanya terjadi pada file ODEX.

7.Jika ada kesalahan dalam menulis sintaks pada artikel ini mohon tinggalkan komentar. Terima kasih.

0 Response to "Smali / Baksmali Android"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel