Ubuntu逆コンパイルチュートリアルapktool、smali、dex2jar、jd-gui



Ubuntu Decompilation Tutorial Apktool



この記事では、逆コンパイル用の3つのツールのインストールと使用について説明し、添付ファイルjavaをインストールする必要があります(apktoolにはjava環境が必要です)。



1. Javaのインストール(例としてjava8)

次の4つ( 参照問題の解決策 )、順番に来てください、ダウンロードプロセスは遅くなります、辛抱強く待ってください:



sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update

次に、特定のjdkをインストールするには、次のコマンドを実行します。

jdk6:

sudo apt-get install oracle-java6-installer

jdk7:



sudo apt-get install oracle-java7-installer

jdk8:

sudo apt-get install oracle-java8-installer

2、apktoolのインストール

apktoolダウンロードアドレス: Apktool 、プロンプトに従い、スクリプトとjarファイルを対応するディレクトリに配置します

注:ダウンロードしたjarファイルを解凍した後、aaptファイル(解凍されたディレクトリ:prebuilt aapt linux )を見つけ、新しいディレクトリ/ usr / local / aapt /を作成し、このディレクトリにaaptファイルを配置してchmod + x

Linux

  1. Linuxをダウンロードする ラッパースクリプト (右クリックして、リンクに名前を付けて保存apktool
  2. apktool-2をダウンロード( ここで最新のものを見つける )。
  3. ダウンロードしたjarの名前をapktool.jarに変更します
  4. 両方のファイル(apktool.jarapktool)を/usr/local/binに移動します(ルートが必要)
  5. 両方のファイルが実行可能であることを確認してください(chmod +x
  6. CLI経由でapktoolを実行してみてください

最初のステップ(右クリック、名前を付けてリンクを保存apktool)を保存するには、右クリックする必要があります。コピーして保存するWebページを開くことはできません。

今回はターミナルで:

apktool d app-mock-debug.apk

表示されます:

I: Using Apktool 2.3.3 on app-mock-debug.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... S: WARNING: Could not write to (/home/shixin398/.local/share/apktool/framework), using /tmp instead... S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable I: Loading resource table from file: /tmp/1.apk I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... I: Baksmaling classes.dex... I: Baksmaling classes2.dex... I: Baksmaling classes3.dex... I: Baksmaling classes4.dex... I: Baksmaling classes5.dex... I: Baksmaling classes6.dex... I: Copying assets and libs... I: Copying unknown files... I: Copying original files...

これで最初のステップが完了し、mkファイルとsmaliファイルが表示されます。

3、smali2java

次に、smali2javaツールをダウンロードします( パスワード:42uq )smaliファイルをjavaファイルに処理します。

これは、Windows上で実行される視覚化ツールです。

apktoolが逆コンパイル後にdexファイルを生成するかどうかはわかりませんが、現在はすべてsmaliファイルのようです。 。 jd-juiで待つ方法はありません。

第四に、dex2jarとjd-juiを使用します

smali2javaを使用したくない場合は、別の方法があります。apkファイルの末尾を「.apk」から「.zip」に変更してから解凍すると、.dexファイルが表示されます。

次に、dex2jarを使用してdexファイルを処理し、jd-juiで表示するために開きます。

1.dex2jarをインストールして使用します。

ダウンロード: https://bitbucket.org/pxb1988/dex2jar/downloads/ 、元の住所: git-hub、解凍:

指定された名前のjarファイルを指定された場所に出力することもできます。

AndroidStudio/dex2jar-2.0$ sh d2j-dex2jar.sh -f /mnt/d/code/APK/app-mock-debug.apk -o ../../decomp.jar dex2jar /mnt/d/code/APK/app-mock-debug.apk -> ../../decomp.jar

2.jd-juiダウンロード

ダウンロード( jd-juiダウンロードアドレス )、直接使用する