//kalinux.info
Reverse Engineering 468 просмотров

apktool

Описание пакета apktool

Это инструмент для обратного проектирования сторонних, закрытых, бинарных приложений для Android. Он может декодировать ресурсы почти до первоначальной формы и восстанавливать их после внесения некоторых изменений; это позволяет пошагово отлаживать код smali. Кроме того, это облегчает работу с приложением благодаря проектной структуре файлов и автоматизации некоторых повторяющихся задач, таких как сборка apk и т. д.

Он НЕ предназначен для пиратства и других нелегальных целей. Его можно использовать для локализации, добавления некоторых функций или поддержки пользовательских платформ и других ХОРОШИХ целей. Просто постарайтесь быть честными с авторами приложения, которое вы используете и, вероятно, любите.

Особенности:

  • декодирование ресурсов в почти оригинальную форму (включая resources.arsc, XML и файлы 9.png) и их восстановление
  • отладка smali: SmaliDebugging
  • помогая с некоторыми повторяющимися задачами

Инструменты, включенные в пакет apktool

apktool - инструмент для реинжиниринга Android apk файлов

root@kali:~# apktool
Apktool v2.3.4-dirty - a tool for reengineering Android apk files
with smali v2.2.3-dev and baksmali v2.2.3-dev
Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
Updated by Connor Tumbleson <connor.tumbleson@gmail.com>

usage: apktool
 -advance,--advanced   prints advance information.
 -version,--version    prints the version then exits
usage: apktool if|install-framework [options] "framework.apk"
 -p,--frame-path "dir"   Stores framework files into "dir".
 -t,--tag "tag"          Tag frameworks using "tag".
usage: apktool d[ecode] [options] "file_apk"
 -f,--force              Force delete destination directory.
 -o,--output "dir"       The name of folder that gets written. Default is apk.out
 -p,--frame-path "dir"   Uses framework files located in "dir".
 -r,--no-res             Do not decode resources.
 -s,--no-src             Do not decode sources.
 -t,--frame-tag "tag"    Uses framework files tagged by "tag".
usage: apktool b[uild] [options] "app_path"
 -f,--force-all          Skip changes detection and build all files.
 -o,--output "dir"       The name of apk that gets written. Default is dist/name.apk
 -p,--frame-path "dir"   Uses framework files located in "dir".

For additional info, see: http://ibotpeaches.github.io/Apktool/
For smali/baksmali info, see: https://github.com/JesusFreke/smali

Пример использования apktool

Используйте режим отладки (d) для декодирования данного файла apk (/root/SdkControllerApp.apk):

root@kali:~# apktool d Facebook\ Lite_v121.0.0.8.97_apkpure.com.apk
I: Using Apktool 2.3.4-dirty on Facebook Lite_v121.0.0.8.97_apkpure.com.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...