MASTG-TOOL-0011 Apktool
Apktool は Android アプリパッケージ (APK) をアンパックするために使用します。標準の unzip
ユーティリティで APK を展開するだけではいくつかのファイルが読み取れないままです。AndroidManifest.xml
はバイナリ XML 形式にエンコードされており、テキストエディタで読み取れません。また、アプリのリソースは単一のアーカイブファイルにパッケージされたままです。
デフォルトのコマンドラインフラグで実行すると、apktool は Android Manifest ファイルをテキストベースの XML 形式に自動的にデコードし、ファイルリソースを抽出します (また、.DEX ファイルを smali コードに逆アセンブルします。この機能については本書の後半で再度説明します)。
アンパックされたファイルには、通常、以下のものがあります (apktool d base.apk
を実行後)。
AndroidManifest.xml: デコードされた Android Manifest ファイルです。テキストエディタで開いて編集できます。
apktool.yml: apktool の出力に関する情報を含むファイルです。
original: MANIFEST.MF ファイルを含むフォルダです。JAR ファイルに含まれるファイルに関する情報を含みます。
res: アプリのリソースを含むディレクトリです。
smali: 逆アセンブルされた Dalvik バイトコードを含むディレクトリです。
apktool を使用して、デコードしたリソースをバイナリ APK/JAR に再パッケージすることもできます。詳細と実例については、techniques の アプリパッケージの探索 および 再パッケージと再署名 を参照してください。
Last updated
Was this helpful?