Time passes and the number of devices receiving Android 5.0 Lollipop increases. In just few days a large number of devices is added to this list. At first mostly of devices received Lollipop through Custom ROMs based on the official version announced by Google. Now some of devices like Motorola and Nexus smart phones has received Lollipop officially, but there are also many others that are running a Custom ROM based on Lollipop, like the famous CyanogenMod 12.
While much of Lollipop’s underlying architecture is the same as previous versions, also there are many changes. Android 5.0 Lollipop finally replaced Dalvik System Runtime with ART. This was a fantastic move from Google in terms of performance and battery life savings. But it don’t have only good things, it also has some side effects for certain categories. So it is incompatible with Xposed Framework, switching to ART system means that decrypting system apps has to be done differently.
For developers nothing is impossible, an XDA Senior Member called Tech N You made a guide that shows you how to use Oat2dex converter to decrypt Lollipop apps and jars. In Android 5.0 Lollipop framework, app, priv-app folder called “.odex”, files there have a specific folder for ART runtime in order to compress into two modes.
odex.art.xz > The ART mode to native file.
odex.xz > 7zip, odex appears when you unzip the file.
odex.xz > unpack the file compression uses the .odex file unless the ARM is compressed folder .odex.
So in order to deodex files you need a deodex tool and the apk along with .odex.xzxz
How To Deodex Android 5.0 Lollipop Apps
- Download and extract the 7z file on your computer. Find the file in the source link in the end of the post. Then Hold right Shift key and right click mouse, a Commikand Prompt window will open, click on it.
- Now that Command Prompt is open, place you.apk and .odex.xz there and type the following command: 7za x * .odex.xz thenthen press enter. This will lead you to xz uncompromising and output file you will receive as an odex, even though a new format odex will be given in output, so you need oat2dex converter.
- In Command Prompt enter this code ‘oat2dex.bat * .odex’ and press enter. This command confirm that there is a OAT file and DEX file header present. If you face any errors, you can’t do nothing because the apk won’t be converted.
- We are assuming that you don’t get any error, now enter this command “oat2dex.bat *.odex. This command will give you the required output ,I.e..temp.dex. file is created. It is an odex file with the old structure.
- Using the baksamli/samli to deodex use this command: “java -jar baksamli- 2.0.3.jar -a 21 -x temp.dex -o deodex”. This command will decompile dex and as a result you will find a deodex output folder with no errors.
- To compile the output back to classes.dex use this command “java -jar smali- 2.0.3,jar -a 21 deodex -o classes.dex”
- Now to put the classes.dex into apk use the following command “7za u -tzip *.aPk classes.dex”
- That’s all.
Note: I am not a developer. I collected some information and posted here. It can contain errors. If you find any please contact me to make this guide to work without any error.