前言:
在最近的工作中一直在接触APP测试,给大家分享下个人的一些经验,水平有限,大佬勿喷。
首先APP攻防是要学会反编译的,大概有如下几种方式。
dex2jar
dex2jar是一个安卓反编译的工具,可以吧.dex文件转换成.jar文件,可以帮助我们分析具体的代码。
项目地址:
https://github.com/pxb1988/dex2jar/releases
使用:
把测试apk后缀改为zip解压,可以得到.dex文件
把.dex文件单独解压出来
使用命令:
d2j-dex2jar <.dex路径> -o <输出路径+名称.jar>
输出路径下就会有.jar文件
jd-gui
得到.jar文件该怎么打开呢,就是jd-gui这个工具
项目地址:
https://github.com/java-decompiler/jd-gui/releases
jd-gui可以以图形化的界面让开发者测试.jar文件代码
此时可以测试代码是否做过混淆。混淆过的代码类文件和方法都是以a,b,c...之类命名的
Android killer
一代神器Android killer,不多说直接上图
Android killer是一款集成了adb,dex2jar等安卓测试工具为一体的图形化工具,对新人十分友好。
项目地址:
https://github.com/liaojack8/AndroidKiller
Apktool
apktool也可以进行反编译,并且还能进行回编译
项目地址:
https://ibotpeaches.github.io/Apktool/
使用命令:
java -jar apktool.jar d xxx.apk
反编译后的内容会在当前目录下生成。
当然,除了这些还有其他方式,比如ApkBurster等,我日常使用的还是这些工具,祝师傅们早日成为APP攻防高手