Good reverse engineering tools are hard to come by. Apktool is the one such tool capable of fulfilling this objective. Resources can be decoded to original form and some modifications are done before rebuilding them. It is basically a tool to decompile and rebuild apps. App’s code is reversed to smali, app code for reverse engineering, embedded images and XML files are extracted and Android resources are decoded.
Java language is used to write code in android apps. Decompiling android apps is a process. This code is compiled and takes the form of machine readable code. Android app is converted into a Java jar and then jar is decompiled. There is a more accurate way to do this. App code itself is decompiled and then it is decompiled into smali. Smali is not an easy code to understand and here Apktool comes to the rescue.
Frameworks are important for decompilation of framework dependent APKs. Framework from AOSP is used by the Apktool. APKs are organized and handled. Debugging can be done easily in Smali. Apktool is really good and helpful for repetitive tasks. Syntax of smali is verbose and difficult to understand at the start. These files can be opened with any text editor irrespective of any featured like syntax highlighting and auto completion missing. There are two tools, an open source syntax highlighter and fully featured solution to do more than smali editing. Each resource has an unique id, which is in hexadecimal, which is nothing but the value present in a .java file at the time of building a project created by the Android Build System. XML file is created by the Apktool while also extracting APK resources and the code is decompiled.
It is an excellent tool developed for reverse engineering. You just have to learn smali to some extent and then there is no limit to its use. Package names, images etc. can be changed using Apktool.
|ApkTool 2.3.1 Jan 16, 2018||
Android Oreo Support (8.1) (Issue 1667)
Feature: Advanced --force-manifest for decoding manifest without resources. (Issue 1680) / Thanks rubenanagua
Fixed issue with shorthand SDK versions. (Issue 1630)
Fixed issue with encoding raw font files. (Issue 1662) / Thanks minsko
Last month's downloads
Last week's downloads
... questions, and many more. Fiddler is an HTTP debugging proxy that logs all HTTP traffic between your ... simpler to use than NetMon or other network debuggers because it exposes only HTTP traffic and does ...
The JDK is a development environment for building applications, applets, and components using the Java programming language. The JDK includes tools useful for developing and testing programs written in the ...
Eclipse SDK is an open source platform-independent software framework for delivering what the project calls or is known as "rich-client applications" (as opposed to "thin clients", this means the clients perform ...
|3||Adobe Flash Player Debugger|
|9||Software Ideas Modeler|
|14||COM Port Data Emulator|