可以輕松把安卓apk的源碼逆向出來,逆向有什么用,比如手機apk木馬,可以用於追蹤黑客,詳見 https://cloud.tencent.com/developer/news/179336
用2個工具組合,分別處理 apk 和 dex 兩類文件,最終得到 jar 文件
一、apktool 逆向,在/usr/share/apktool中生成相應的目錄文件
root@kali:/usr/share/apktool# apktool d /tmp/test.apk
I: Using Apktool 2.3.3-dirty on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
root@kali:/usr/share/apktool# cd test
root@kali:/usr/share/apktool/test# ls -l
總用量 36
-rw-r--r-- 1 root root 2590 6月 18 15:20 AndroidManifest.xml
-rw-r--r-- 1 root root 8624 6月 18 15:20 apktool.yml
drwxr-xr-x 3 root root 4096 6月 18 15:20 assets
drwxr-xr-x 3 root root 4096 6月 18 15:20 lib
drwxr-xr-x 3 root root 4096 6月 18 15:20 original
drwxr-xr-x 137 root root 4096 6月 18 15:20 res
drwxr-xr-x 7 root root 4096 6月 18 15:20 smali
二、dex2jar是一款針對安卓,將dex轉換為jar的工具。
root@kali:/usr/share/apktool/test# which dex2jar
/usr/bin/dex2jar
dex文件是Android平台上可執行文件的類型。對於Android DEX文件進行優化,需要注意的一點是DEX文件的結構是緊湊的,但是我們還是要想方設法的進行提高程序的運行速度,我們就仍然需要對DEX文件進行進一步優化。
使用樣例
root@kali:/usr/share/apktool/test# dex2jar classes.dex
可以生成jar文件