天天看點

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

安裝apktool和dex2jar,jd-gui

homebrew安裝: 

brew install apktool

brew install dex2jar

 JD-GUI去http://jd.benow.ca/下載下傳 dmg可能不支援最新版本的mac用不了,打開就報錯

反編譯流程

  1. 執行腳本apktool d xxx.apk   注:xxx.apk為你要反編譯的apk
  2. 在你執行指令的目錄下會生成xxx檔案夾 到檔案夾中檢視res資源檔案即可
  3. 将apk檔案字尾名直接改為.zip并解壓。得到其中的classes.dex檔案,它就是java源代碼經過編譯再通過dx工具打包而成的。
  4. 将classes.dex檔案複制到dex2jar所在的檔案夾
  5. 終端cd到dex2jar目錄,運作 sh dex2jar.sh classes.dex
  6. 生成 classes_dex2jar.jar
  7. 用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的一道題 

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

先用寫好的 

1.sh

腳本自動反編譯了 生成的classes-dex2jar.jar放到jd-gui裡面 

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

所有的東西都在主函數,看主函數 

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

所有的程式,輸入的值經過 

encode

函數和 

base64

隻要等于 

NGM5OTkzNDIyM2NmMjQwZA==

這個就可以了 解出來是 

4c99934223cf240d

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

看一下encode函數,沒什麼用 把字元串翻轉一下就好了 

apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境
apktoolkit apk反編譯沒有檔案_[工具] Mac下一鍵APK逆向環境

參考文章

https://blog.csdn.net/jyygn163/article/details/71731786

繼續閱讀