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 :
- Linuxをダウンロードする ラッパースクリプト (右クリックして、リンクに名前を付けて保存
apktool
) - apktool-2をダウンロード( ここで最新のものを見つける )。
- ダウンロードしたjarの名前を
apktool.jar
に変更します - 両方のファイル(
apktool.jar
&apktool
)を/usr/local/bin
に移動します(ルートが必要) - 両方のファイルが実行可能であることを確認してください(
chmod +x
) - 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ダウンロードアドレス )、直接使用する