Another way of reversing an Android application is converting the .dex
file to smali
files. A smali
is a file format whose syntax is similar to a language known as Jasmine. We won't be going in depth into the smali
file format as of now. For more information, take a look at the online wiki at https://code.google.com/p/smali/wiki/ in order to get an in-depth understanding of smali
.
Once we have downloaded Apktool and configured it, as instructed in the earlier chapters, we are all set to go further. The main advantage of Apktool over JD-GUI is that it is bidirectional. This means if you decompile an application and modify it, and then recompile it back using Apktool, it will recompile perfectly and will generate a new .apk
file. However, dex2jar and JD-GUI won't be able to do this similar functionality, as it gives an approximate code and not the exact code.
So, in order to decompile an application using Apktool, all we need to do is to pass in...