.apkファイルのコンテンツを抽出して表示する方法はありますか?
実際、apkファイルは単なるZipアーカイブであるため、ファイルの名前をtheappname.apk.Zip
に変更して、Zipユーティリティ(7Zipなど)で抽出することができます。
androidmanifest.xml
ファイルとリソースが抽出されて表示されますが、ソースコードはパッケージに含まれません-コンパイルされた.dexファイル(「Dalvik実行可能ファイル」)のみ
解凍するとリソースが明らかになりますが、AndroidManifest.xml
はエンコードされます。 apktool
は、他の多くのものの中でもこのファイルをデコードできます。
アプリケーションApp.apk
をフォルダーApp
にデコードするには、実行します
apktool decode App.apk App
apktool
は公式のAndroid SDKには含まれていませんが、ほとんどのパケットリポジトリを使用して利用できます。
zzos もあります。 (完全開示:私はそれを書きました)。 dex部分ではなく、実際のリソースのみを逆コンパイルします(- baksmali (これは書いていませんが、その部分を処理する優れた仕事をします))。
Zzosはapktoolよりもあまり知られていませんが、Zzosはより適切に処理されるAPKがいくつかあります(逆もまた同様です-詳細は後ほど)。ほとんどの場合、カスタムリソースタイプ(修飾子ではない)を含むAPKは、前回チェックしたときにapktoolによって処理されず、zzosによって処理されていました。また、zzosがより適切に処理するエスケープの場合もあります。
マイナス面として、zzos(現在のバージョン)をインストールするにはいくつかのサポートツールが必要です。これは(Javaで記述されたAPKToolとは対照的に)Perlで記述され、実際の逆コンパイルにaaptを使用します。また、まだattribリソースを逆コンパイルしていません(APKToolが行います)。
名前の意味は、Androidのリソースコンパイラである「aapt」であり、1文字下にシフトされています。
apkファイルを開くための4つの推奨方法:
1. Android Studio (写真、Javaコード、サイズの分析)でapkファイルを開きますthe best way
2. winRar、7Zipなどのアプリケーションで開く(写真を見るだけで...)
3.ウェブサイトの使用 javadecompilers (写真およびJavaコードの場合)
4.use APK Tools (写真およびJavaコードの場合)
unzip my.apk
これは、Linuxコマンドラインからのトリックです。
Android apksのオンライン逆コンパイラがあります
http://www.decompileandroid.com/
ローカルマシンからAPKをアップロードする
ちょっと待って
zip形式のソースコードをダウンロードします。
解凍すると、すべてのリソースを正しく表示できますが、すべてのJavaファイルが正しく逆コンパイルされていません。
詳細については この回答をご覧ください
APKを抽出する理由に応じて、APK Analyzerで十分な場合があります。ディレクトリとファイルサイズが表示されます。また、ドリルダウンできるパッケージごとにグループ化されたメソッド数も表示します。
APKアナライザーはAndroid Studioに組み込まれています。トップメニューの[ビルド]-> [APKの分析]からアクセスできます。
ハイブリッドアプリの場合、cordovaとangularjsを使用して開発しました。
1) .apkファイルの名前を.Zipに変更
2)内容の抽出/解凍
)資産フォルダーでは、wwwフォルダーを取得します
Androidデバイス自体でAPKファイルの内容を確認することもできます。これはデバッグに非常に役立ちます。
アプリのマニフェストを含むすべてのファイルは、電子メール、クラウドなどを使用して表示および共有できます。ルート化は不要です。アプリは以下から入手できます。
https://play.google.com/store/apps/details?id=com.dasmic.Android.apkpeek
免責事項:私はこのアプリの著者です。
Jadx- https://github.com/skylot/jadx を使用することもできます。このページで言及したすべてのツールを使用しましたが、Jadxが最適に機能することがわかりました。マニフェストファイルと他のクラスファイルは、このツールによって可能な限り読み取り可能な形式に変換されます。
PS- http://www.javadecompilers.com/apk は、jadxデコンパイラーを使用してオンラインで同じ作業を行います。単一のapkをアーカイブ解除する場合は簡単です。
乾杯!
APK Scanner は、PC上のAPKファイルの情報を表示できます。
また、Androidデバイスからapkファイルをプルすることもできます。
他のツールにリンクすることもできます(JADX-GUI、JD-GUI ...)