apktool

It is a tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications; it makes possible to debug smali code step by step.

apktool Package Description

It is a tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications; it makes possible to debug smali code step by step. Also it makes working with app easier because of project-like files structure and automation of some repetitive tasks like building apk, etc.

It is NOT intended for piracy and other non-legal uses. It could be used for localizing, adding some features or support for custom platforms and other GOOD purposes. Just try to be fair with authors of an app, that you use and probably like.

Features:

  • decoding resources to nearly original form (including resources.arsc, XMLs and 9.png files) and rebuilding them
  • smali debugging: SmaliDebugging
  • helping with some repetitive tasks

Source: https://code.google.com/p/android-apktool/
apktool Homepage | Kali apktool Repo

  • Author: Brut.alll
  • License: Apache-2.0

Tools included in the apktool package

apktool – A tool for reengineering Android apk files
root@kali:~# apktool
Apktool v1.5.2 – a tool for reengineering Android apk files
Copyright 2010 Ryszard Wiśniewski <brut.alll@gmail.com>
with smali v1.4.1, and baksmali v1.4.1
Updated by @iBotPeaches <connor.tumbleson@gmail.com>
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)Usage: apktool [-q|–quiet OR -v|–verbose] COMMAND […]COMMANDs are:

d[ecode] [OPTS] [

]
Decode to.OPTS:

-s, –no-src
Do not decode sources.
-r, –no-res
Do not decode resources.
-d, –debug
Decode in debug mode. Check project page for more info.
-b, –no-debug-info
Baksmali — don’t write out debug info (.local, .param, .line, etc.)
-f, –force
Force delete destination directory.
-t , –frame-tag
Try to use framework files tagged by .
–frame-path

Use the specified directory for framework files
–keep-broken-res
Use if there was an error and some resources were dropped, e.g.:
“Invalid config flags detected. Dropping resources”, but you
want to decode them anyway, even with errors. You will have to
fix them manually before building.b[uild] [OPTS] [] []
Build an apk from already decoded application located in .

It will automatically detect, whether files was changed and perform
needed steps only.

If you omit then current directory will be used.
If you omit then /dist/
will be used.

OPTS:

-f, –force-all
Skip changes detection and build all files.
-d, –debug
Build in debug mode. Check project page for more info.
-a, –aapt
Loads aapt from specified location.

if|install-framework [] –frame-path []
Install framework file to your system.

For additional info, see: http://code.google.com/p/android-apktool/
For smali/baksmali info, see: http://code.google.com/p/smali/

apktool Usage Example

Use debug mode (d) to decode the given apk file (/root/SdkControllerApp.apk):

root@kali:~# apktool d /root/SdkControllerApp.apk
I: Baksmaling…
I: Loading resource table…
I: Loaded.
I: Decoding AndroidManifest.xml with resources…
I: Loading resource table from file: /root/apktool/framework/1.apk
I: Loaded.
I: Regular manifest package…
I: Decoding file-resources…
I: Decoding values */* XMLs…
I: Done.
I: Copying assets and libs…

Full article:

Source: apktool | Penetration Testing Tools

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s