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.4.1 Dec 4, 2019||
Updated baksmali/smali to version 2.3.4
Upgrade to gradle 5.6.2
Added support for Android Q (10) Final. (Issue 2131)
Fixed build issue with JDK9+ because of jmod change. (Issue 2086)
|ApkTool 2.3.4 Jan 16, 2019||
[#1864] Android Pie Support
[#1776] Fixed issue rebuilding applications in aapt2 with $ or _.
[#1809] Fixed process executor to wait for response when identifying aapt versions. (Thanks sunshouxiang)
[#1843] Fixed issue with 0 byte file being detected as not compressed. (Thanks alexeikh)
[#1817] Updated aapt2 builds to latest android_9.0.0_r3 build tag.
[#1889] Align codebase so aapt and aapt2 are built from same code.
[#1884] Upgrade Gradle to v5.0 to fix Java warnings.
|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
|7||Visual Studio Code|
|11||Software Ideas Modeler|
|12||Java Runtime Environment|
|15||Portable RJ TextEd|