AndroidアプリApkを逆コンパイルする方法

最近、特定のproductFlavorsのみの依存関係を追加する方法に関するガイドを公開しました。 我々は必要な手順を実装した後、我々は最終的なことを確認したかったです。apkは、実際にはもう不要なクラスが含まれていません。 この記事では、どのクラスとリソースがapkにあるかを確認する方法を紹介します。注:このガイドは、あなた自身のapkを逆コンパイルするために設計されており、他の開発者のハードワークではありません。 したがって、コードの難読化をリバースエンジニアリングまたは回避するための手順は含まれていませんでした。P>

>

準備:ツールのインストール

Android apkは基本的にzip形式のディレクトリで、いくつかの生のリソース(画像、レイアウトファイ. とclasses.dexファイル。 このファイルには、すべての実際のコードが含まれており、私たちに最も興味があります。 必要なすべてのツールをダウンロードしましょう:

  • apkを解凍する必要があります。 お使いのオペレーティングシステムの組み込み機能を使用するか、7-Zipのようなお気に入りの(un)アーカイバをインストールすることができます。
  • classes.dex.jarに戻すには、dex2jarツールをダウンロードする必要があります。最後に、.jarファイルを人間の目で読み取り可能にするには、JD-Guiをダウンロードして実行します。

あなたのコードを取り戻す

さて、今では実際の作業を行う時間です。 Apkファイルを作業するディレクトリにコピーします。 お好みのツールを使用してapkを解凍し、いくつかのサブディレクトリといくつかのファイルを持つディレクトリを取得する必要があります。 p>

解凍しました。apk

AndroidManifest.xmlresclasses.dexdex2jarツールに切り替えて、新しい端末を開きます。Mac OSを使用している場合は、sh d2j-dex2jar.sh -f -o output.jar your_app_input.apkを実行します。 Windowsユーザーは、.bat.jar.jarJD-GUI.jarファイルを開きます。

jd-GUIで逆コンパイルされたコードビュー

apkにあるすべてのパッケージとクラスを参照できます。 コードは削除されたバージョンであり、IDEに表示されているコメントや冗長な構造は含まれていません。 これは、アプリのコンパイル済みの最小化です。 それにもかかわらず、それはあなたにアプリの基本について学ぶのに十分な情報を与えるはずです。 たとえば、アプリにadmobライブラリに関連するパッケージがないことを確認するのに役立ちました。

その他のオプション

クイック逆コンパイルが必要な場合は、次のオンラインツールを使用できますwww.decompileandroid.com/.

より高度な逆コンパイルの目的のために、apktoolを見てみることができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です