続いて、apkファイルの逆コンパイル前後の比較とファイルの意味について解説していきます。このチュートリアルでは、比較的シンプルなアプリケーション「SD Card Cleanup Tool」を教育用ソフトウェアとして使用します。 (添付ファイルはソフトウェアです、英語です)

A.まず、逆コンパイル前のファイル構造を見てみましょう。図に示すように:

B.次に、逆コンパイルの実際の操作について説明し、逆コンパイルされたファイルを見てみましょう

中国語コース 1 で提供されているツール [APK 逆コンパイルおよびコンパイル ツール v141] をダウンロードした後、新しいフォルダー (apktool という名前) を作成し、そのフォルダーに apktool ツールを配置し、逆コンパイルする必要がある APK、つまり通知バーのショートカット スイッチ NoticeToggle をapktool フォルダーを開き、名前を 123.apk に変更し、apktool をクリックします。 v1.4.1 を使用し、上記のプロンプトに従って、APK の逆コンパイル、コンパイル (バック コンパイル)、署名、その他の操作を完了します。

ツール内の操作紹介はすでに非常に詳しく説明されているため、あまり説明しません。次のインターフェイスが表示された場合は、逆コンパイルが成功したことを意味します:

C。次に、逆コンパイルされたファイルと元のファイルの違いを見てみましょう。

逆コンパイル前と後のファイルを比較すると、ファイルの変更がわかります。

D.次に、これらのファイルの機能について一般的に理解しましょう。


ファイルの中には、META-INF と res の 2 つのフォルダーと AndroidManifest があります。 XML、クラス。デックスとリソース。これら 3 つの arc ファイルはすべてのソフトウェアに含まれており、必要です。ソフトウェアには資産があるものとないものがあります。これらは主に、通常のプログラムには存在しないいくつかのリソース ファイルを保存しますが、主にゲームに含まれます。一部のソフトウェアには他のファイルなどもあります。

META-INF ディレクトリには、apk パッケージの整合性とシステムのセキュリティを確保するために使用される署名情報が保存されます。
res ディレクトリにはリソース ファイルが保存されます。ソフトウェアが異なれば、res ディレクトリ内のフォルダーも異なります。通常、これは
drawable (画像が配置されているフォルダー)
drawable-hdpi (高解像度画像が配置されているフォルダー)
layout (インターフェース レイアウト XML ファイルが配置されているフォルダー)
layout-hdpi (高解像度インターフェース レイアウト XML ファイルが配置されているフォルダー) です。これはこのプログラムには含まれていません。多くのプログラムで見つかります)
menu (一部のメニュー ファイルが配置されているディレクトリは、このプログラムでは見つかりませんが、多くのプログラムでは見つかります)
raw (help.html などのヘルプ ドキュメントやその他のリソースを保存するフォルダー、このプログラムでは見つかりません。クロック.zip)
xml (その他の xml ファイルが存在するディレクトリ)

このチュートリアルの [SD カード クリーンアップ ツール] の例では、andmin、drawable、drawable-hdpi、layout、menu、values、および XML ファイル。
drawable 通常、このフォルダーにはソフトウェア内の画像が保存されます。何らかのソフトウェアを使用して写真を修正したい場合は、ここで見つける必要があります。通常、一部の小規模なゲームでは、変更が必要な画像がこのフォルダーにあります。
他のフォルダーにはいくつかの XML ファイルが保存されており、中国語化する必要がある場所もあります。
Androidマニフェスト。 xml はメインの XML ファイルであり、すべてのアプリケーションで定義して含める必要があります。アプリケーションの名前、バージョン、権限、参照されるライブラリ ファイル、その他の情報が説明されます。基本的に中国語化する必要はありませんが、非常に個別のソフトウェアのソフトウェア名や個別の単語がこのメイン XML に存在します。
クラス。 dex は、Java ソース コードのコンパイル後に生成される Java バイトコード ファイルです。平たく言えば、ソフトウェア全体のソースコードファイルです。
APKTOOL の主な中国語バージョンは (下の図)

----------------------------------------------------------------------------------------------------------------------------------------------------------------
注: 逆コンパイル ソフトウェア (apktool には多くのバージョンがあります) このチュートリアルでは、APK 逆コンパイルおよびコンパイル ツール v141 を例に挙げます。