APP安全测试之apk反编译
#安全测试之apk反编译
##1. 需要的环境以及工具
SDK:Java JDK,Android SDK。
apk 工具:android 组件安全测试工具,activity 劫持测试工具,android 击键记录测试工具,
代理工具(proxydroid),MemSpector,Host Editor。
工具:7zip,dex2jar,jd-gui,apktool,IDA pro,ApkAnalyser,Eclipse,dexopt-wrapper,010 editor,SQLite Studio,ApkIDE。
##2.apk 解包与逆向
APK 解包和逆向是所有 APP 安全分析的开始。当然我这里说的比较浅显。
一般 APK 用压缩包软件即可打开解压 我这里使用的 7zip 好处无广告无捆绑速度还行,这里随便找的一个游戏 APP 具体就不透露了
2.1 下载与使用 dex2jar
下载地址:https://sourceforge.net/projects/dex2jar/
使用:
解压之后输入 d2j-dex2jar.bat 文件名 一般为 classes.dex (见上图) APK 解压放到了桌面 test 文件夹中
会在 dex2jar 目录生成一个这个文件
那么如何查看该 jar 文件的内容呢?此时就需要安装 jd-gui。
2.2 下载与使用 jd-gui
下载地址: http://jd.benow.ca/
使用没什么好说 windows 就一个 exe 打开之后就这样 下图中打开 classes.dex2jar-jar 代码是经过混淆处理的 最明显就是其中有 a.b.c.d 这样的内容。
如果没有混淆处理这里应该明文,混淆处理是一种防止逆向的手段,混淆处理后虽然也有逆向分析手段但是这里不具体分析了。
没有混淆处理基本说明 apk 发开人员安全意识不够。
2.3 反编译 so 库
工具 IDA PRO 大名鼎鼎的工具 – - 下载地址应该不需要了
APK 解压之后在 lib/armeabi 有个.so 文件 用 IDA pro 打开 可以看到 so 文件中包含的函数,ARM 汇编代码,导入导出函数等信息