安裝apktool和dex2jar,jd-gui
homebrew安裝:
brew install apktool
brew install dex2jar
JD-GUI去http://jd.benow.ca/下載下傳 dmg可能不支援最新版本的mac用不了,打開就報錯
反編譯流程
- 執行腳本apktool d xxx.apk 注:xxx.apk為你要反編譯的apk
- 在你執行指令的目錄下會生成xxx檔案夾 到檔案夾中檢視res資源檔案即可
- 将apk檔案字尾名直接改為.zip并解壓。得到其中的classes.dex檔案,它就是java源代碼經過編譯再通過dx工具打包而成的。
- 将classes.dex檔案複制到dex2jar所在的檔案夾
- 終端cd到dex2jar目錄,運作 sh dex2jar.sh classes.dex
- 生成 classes_dex2jar.jar
- 用jd-gui打開就可以看到源代碼
自動化反編譯
之前想着手動敲指令就好了,做題的時候發現還是得百度,就準備用shell腳本一鍵化。shell腳本:
apktool d $1 && mv $1 $1.zip && unzip $1.zip "*.dex" -d $1_dex/ && cd $1_dex/ && d2j-dex2jar *.dex
當然也可以把這個放到
.bash_profile
可以指令行運作
實戰
超級簡單的Android逆向
還是JDCTF的一道題
先用寫好的
1.sh
腳本自動反編譯了 生成的classes-dex2jar.jar放到jd-gui裡面
所有的東西都在主函數,看主函數
所有的程式,輸入的值經過
encode
函數和
base64
隻要等于
NGM5OTkzNDIyM2NmMjQwZA==
這個就可以了 解出來是
4c99934223cf240d
看一下encode函數,沒什麼用 把字元串翻轉一下就好了
參考文章
https://blog.csdn.net/jyygn163/article/details/71731786