Inspeckage,动态分析安卓 APP 的 Xposed 模块-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
前提
我在不久前写过《 APP 接口拦截与参数破解》的博文最近爬取APP数据时又用到了相关技术故在此详细描述一下 Inspeckage 的功能。环境准备本文不再赘述
功能
在电脑上访问 http://127.0.0.1:8008 就可以看到 inspeckage 的 web 界面了。
点击页面开启实时更新为 on然后在模拟器中点击 LAUNCH APP在页面中刷新就可以看到数据了。动态刷新开关打开webserver就会加载手机端的所有数据。这个开关并不是控制手机端工具的开关仅仅是webserver是否动态刷新数据的开关。查看数据时可以关闭动态刷新否则展开数据会不断的被收起无法正常查看
(如果 web 页面没有输出结果查看 APP is running 是否为 trueLogcat 左边分那个自动刷新按钮是否开启)
如图所示inspeckage 提供了对所分析 apk 的一些基本信息提供直接下载 apk 到电脑截图手机屏幕等辅助功能最核心的功能是监控 share preferences加解密函数的使用http 访问等。下面一一分析。
使用 logcat 功能需要先转发端口到本地adb forward tcp:8887 tcp:8887。
点击 start再点 connect 就可以在网页中实时查看该 app 的 logcat 输出。
Tree view 按钮可以实时浏览 app 的数据目录并直接下载文件到本地。
如果采用 inspeckage 来分析的话直接在 crypto 记录中就可以看到。
由于这个apk 采用的 md5 方法是写在 so 中的所以 inspeckage 的 hash 记录中并没有相关的记录。这个可以采用 hook 自定义函数的方式来解决。
反编译 apk找到调用 so 的方法为 getPart2同理其实也可以手动 hook 住 getPart1。
设置好 hook 的方法后重启 app 生效。
在 hook 的记录中可以看到 getPart2 的返回值。Inspeckage 在动态分析 apk 的过程可以快速获得一些信息节省分析的时间。
使用 Inspeckage用户可以获取大量关于应用程序行为的信息
模块 | 说明 |
---|---|
Logcat | 实时查看该app的logcat输出 |
Tree View | 可以实时浏览app的数据目录并直接下载文件到本地 |
Package Information | 应用基本信息组件信息、权限信息、共享库信息 |
Shared Preferences | LOGapp XML文件读写记录Files具体XML写入内容 |
Serialization | 反序列化记录 |
Crypto | 常见加解密记录KEY、IV值 |
Hash | 常见的哈希算法记录 |
SQLite | SQLite数据库操作记录 |
HTTP | HTTP网络请求记录 |
File System | 文件读写记录 |
Misc. | 调用Clipboard,URL.Parse()记录 |
WebView | 调用webview内容 |
IPC | 进程之间通信记录 |
+Hooks | 运行过程中用户自定义Hook记录 |
1、信息收集
获取APP基本信息如上图所示
【1】权限请求权限Requested Permissions、自定义权限APP Permissions
【2】组件导出和非导出的组件Activity、Service、Broadcast Receiver、Content Provider
【3】共享库Shared Libraries
【4】标志位DebuggableAllow Backup
【5】其他UIDGIDsPackage等
l 请求权限
l App权限
l 共享库
l 导出和非导出的Activity内容提供其广播接收器和服务
l 检查该应用程序是否可调式
l 版本UID和GID
2、Hooks
使用 Hooks用户可以实时查看应用程序的行为
【1】Shared Preferences日志和文件
【2】Serialization序列化
【3】Crypto加密、Hash
【4】SQLite数据库
【5】HTTP、WebView、IPC等
【6】Hooks自定义HOOK
l 共享首选项日志和文件
l 序列化
l 加密
l 哈希表
l SQLite数据库
l HTTPHTTP代理工具是最好的选择
l 杂项剪贴板URL.Parse()
l WebView
l IPC
使用 Logcat 查看日志的功能需要先转发 8887 端口到本地。
点击 Start再点 connect 就可以在网页中实时查看 app 的 logcat 输出。
+Hooks 模块中可对被测 APP 进行 hook很方便。
3、其他操作
使用 Xposed用户可以执行一系列操作例如开启非输出的Activity
l 开启任意Activity输出和非输出
l 调用提供器输出和非输出
l 禁用FLAG_SECURE
l 取消SSL选项
l 开启、停止或重启应用程序
4、附加部分
l APK下载
l 查看应用程序的目录树
l 下载应用程序的文件
l 下载hooks生成的文本文件格式的输出
l 屏幕截图
5、配置
设置选项中提供了ssl uncheck设置代理等。经过测试发现 SSL uncheck 效果一般。https 流量依然很多抓不到。
尽管该工具有一些连接 HTTP 库的 hooks使用外部代理工具仍然是分析应用程序流量的最好的选择。
在 Inspeckage 中用户可以
l 添加连接目标应用的代理
l 启用和禁用代理
l 在ARP表中添加条目
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |