android APK反編譯

前言

針對android APP的安裝包測試,是測試環節中很重要的一環,也是經常被忽略的一環。

針對APP安裝包主要由以下幾個測試點:

  • 能否反編譯
  • 安裝包是否簽名
  • 完整性校驗
  • 權限設置檢查
    等等

這次主要記錄一下,對自己公司產品反編譯的一次過程

準備

需要的工具

  • apktool
  • dex2jar
  • jd-gui
    直接去官網下載就好了,這邊地址就不貼了

過程

1.apktool

1.先下載拿到apktool.bat和apktool.jar(這邊可能是apktool_x_x.jar 需要手動修改一下文件名)



2.然後把這兩個文件放到C:\Windows底下
3.將需要反編譯的apk放在一個目錄中,然後cd 到對應的目錄
4.執行命令

apktool.bat d app-online-release.apk

會在該目錄下生成一個app-online-release的文件夾


APK反編譯

1.將xxx.apk 改爲xxx.zip,然後解壓
2.解壓後的文件夾中有一個class.dev



3.將這個文件複製到dex2jar的目錄下
4.cd 到dex2jar目錄下,執行命令

d2j-dex2jar.bat classes.dev

會生成一個jar文件


可能遇到的坑
1.在執行d2j-dex2jar.bat classes.dev的時候可能會報錯

jar2dex classes.dex -> classes-jar2dex.dex
call com.android.dx.command.Main.main[--dex, --no-strict, --output=E:\android\dex2jar-2.0\classes-jar2dex.dex, E:\android\dex2jar-2.0\classes.dex]
no classfiles specified

解決方案:將jdk版本由1.8降爲1.7

5.打開jd-gui,打開上一步驟中生成的class-dex2jar.jar


可以到看到代碼經過了混淆

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章