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


可以到看到代码经过了混淆

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