渗透设备:
PC电脑:Windows
手机设备:Android 4.4.4/5.0 Root
•环境设备
•电脑(Java、Python、Ecplise等环境)、手机(ROOT)、USB数据线
•PC工具
•Java、Python、Ecplise、AndroidSDK、Apktool、dex2Jar、JD-GUI、AndroidKiller、Fiddler/BurpSuit、Ida Pro、SqliteBrower、010Editor等
•终端工具
•R.E.Explorer、inject、界面劫持工具等。
工具一:AndroidKiller
作者:legend_brother
是目前Android逆向人员使用最为广泛的Apk反编译IDE,它的功能非常强大,并且有很强的可扩展性。
类方法索引
方法在各类的交叉引用
自定义代码块一键插入
关键字语法显示、Unicode转换
工具二:dex2Jar + jd-GUI
dex2Jar:用来将dex文件转换成jar文件jd-GUI;
jd-GUI:可以查看Jar的Java源码
jd-GUI
工具三:Jeb
JEB是Android应用静态分析的强大工具,除去准确的反编译结果、高容错性之外,JEB提供的API也方便了我们编写插件对源文件进行处理,实施反混淆甚至一些更高级的应用分析来方便后续的人工分析。
Jeb的string搜索
Jeb也具有很强的可扩展性,编写脚本对解混淆、对抗字符串加密等。
工具四:IDA Pro
IDA Pro是市面上最强大的二进制反汇编工具,是支持dex、so、dll、exe、ios、ipa等,跨Win、Mac、Linux全平台。
IDA打开汇编对应的Hex Opcode
IDA Patch Opcode
导入Jni.h头
IDA 代码解析不全时
IDA解析出两个入口时
Jni_Onload注册函数
动态注册方法较静态注册在寻找关键点时稍加麻烦一点,而动态注册势必会在jni_Onload中去处理这些函数,以某so为例,F5后代码如下:
调用了RegisterNatives方法注册了两个方法,off_8004则是记录了该方法的偏移地址,双击进入
其他的PC端工具
手机端安全测试工具
Drozer对Android组件的遍历测试
对于apk组件安全的检测,使用国外著名的渗透套件Drozer。它有Windows、Mac、Python三个版本,是目前使用最为广泛的Android安全测试工具。
run app.package.attacksurface com.xx.xxx //检测可攻击面
run app.activity.info -a com.xx.xxx //检测暴露的Activity组件
run app.service.info -a com.xx.xxx //检测暴露的service组件
run app.broadcast.info -a com.xx.xxx //检测暴露的广播
run app.provider.info -a com.xx.xxx //检测暴露的contentprovider
run scanner.provider.finduris -a com.xx.xxx //检测可以访问的URI
Xposed常见辅助测试插件
Disableverifysignature:将重打包的apk替换回正版的RSA,Patch系统使之能正常安装
JustTrustMe:Patch系统中对Https的SSL证书验证。
Inspeckage:是一个用于提供Android应用程序动态分析的工具。通过
对Android API的函数使用hook技术,帮助用户了解应用程序在运行时的行为。
原文始发于微信公众号(安全君呀):逆向 | Android PC/手机端环境和工具概览
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论