Skip to content

Instantly share code, notes, and snippets.

@AadilGillani
AadilGillani / smali-cheatsheet.txt
Created October 1, 2021 06:49
Smalli Cheat-Sheet
A little help in Smali
(To be supplemented)
#
general information
#
Smali
Types
Dalvik bytecode has two main type classes, primitive types and reference types. Reference types are objects and arrays, everything else is primitive.
@AadilGillani
AadilGillani / deodex.txt
Created October 1, 2021 06:59
Deodexation
What is deodexation?
As everyone knows, the executable code in apk files is located in the classes.dex file. This file can be parsed, edited and reassembled. However, in many firmwares the code is moved from the apk file to the * .odex file, the so-called "optimized" dex. But the * .odex file cannot be parsed directly - before that it must be deodexed, that is, brought to the form classes.dex and returned to the apk file. This process is called deodexation.
2. Why deodex the firmware?
It makes sense to deodex the firmware only in one case - if you need to modify the smali code of applications. Deodexed firmware has no other advantages.
3. What tools are used to deodex * .odex files?
There is only one tool for deodexing android 4.x and below: baksmali. Deodexing android 4.x and below is quite reliable, and if there were no errors during deodexing, then with a 99% probability the applications will also work without errors.
For android 5.x another tool is used: oat2dex. Moreover, the reliability of android 5.