Inspeckage,安卓动态分析工具
From:安卓分析工具 Inspeckage 介绍:http://xdxd.love/2016/08/09/安卓分析辅助工具Inspeckage介绍/
PJ 微信数据库 并查询数据上传服务器:http://blog.csdn.net/qq_35834055
https://github.com/1998lixin/WeChat-database/tree/dev
安卓 Hacking Part ( 1 - 24 ):https://www.anquanke.com/post/id/85839
Inspeckage 简介
Inspeckage (Package Inspector)是一个简单的应用程序(apk),也是一个用来动态分析安卓 app 的 xposed 模块。通过一个内部的 HTTP 服务器提供友好的网页界面,作为 Xposed 框架模块。用户可以在没有 Xposed 的情况下运行,但是 80% 的功能都是依赖于 Xposed 框架,所以建议在测试环境/设备中安装该框架。
可以参考:Inspeckage - Android Package Inspector:https://github.com/ac-pm/Inspeckage
Inspeckage 在 Android 设备上运行:
安装完 Xposed Installer 后,可以在 xposed 的 " 下载 " 里面 搜索 " Inspeckage " 关键字,就可以找到 Inspeckage
点击 ,跳转到 Inspeckage 信息页面,点击 "版本" ---> "安装",即可安装 Inspeckage,安装完需要重启模拟器。
可以在桌面上看到 inspeckage 的图标,在 choose target 下拉列表中选择要分析的 app,这里选择 " 识货.apk "
识货.apk 下载地址:https://www.wandoujia.com/apps/5780453
然后在电脑的 terminal 中执行 " 端口转发 " 命令:adb forward tcp:8008 tcp:8008
( 如果有多个设备时,使用 adb devices 查看设备,再使用 -s 指定要连接的设备)
转发电脑的 8008 端口到手机的 8008 端口。
在电脑上访问 http://127.0.0.1:8008 就可以看到 inspeckage 的 web 界面了。
点击页面,开启实时更新为 on,然后在模拟器中点击 LAUNCH APP,在页面中刷新就可以看到数据了。动态刷新开关打开,webserver就会加载手机端的所有数据。(这个开关并不是控制手机端工具的开关,仅仅是webserver是否动态刷新数据的开关。查看数据时,可以关闭动态刷新,否则展开数据会不断的被收起,无法正常查看)
(如果 web 页面没有输出结果,查看 APP is running 是否为 true,Logcat 左边分那个自动刷新按钮是否开启)
页面功能说明
如图所示,inspeckage 提供了对所分析 apk 的一些基本信息,提供直接下载 apk 到电脑,截图手机屏幕等辅助功能,最核心的功能是监控 share preferences,加解密函数的使用,http 访问等。下面一一分析。
设置
使用 logcat 功能需要先转发端口到本地:adb forward tcp:8887 tcp:8887
点击 start,再点 connect 就可以在网页中实时查看该 app 的 logcat 输出。
Tree view 按钮可以实时浏览 app 的数据目录并直接下载文件到本地。
如果采用 inspeckage 来分析的话,直接在 crypto 记录中就可以看到。
( 识货.apk 的 6.23.1 版本 有个函数在 so 里面 )
由于这个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 LOG:app 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】标志位:Debuggable,Allow Backup
【5】其他:UID,GIDs,Package等
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 HTTP(HTTP代理工具是最好的选择)
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表中添加条目
Inspeckage,安卓动态分析工具相关推荐
- linux平台软件动态分析工具valgrind系列工具及其可视化
linux平台软件动态分析工具valgrind系列工具 Memcheck–内存检查工具 Callgrind–函数调用分析工具 Cachegrind–缓存命中分析工具 Helgrind–线程分析工具 M ...
- [系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向破解
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- android优化最强软件,最强大的安卓优化工具诞生,让手机流畅度提升75%
原标题:最强大的安卓优化工具诞生,让手机流畅度提升75% 身边不少朋友表示用了iPhone之后就再也回不去安卓了,因为iOS系统的流畅度确实碾压绝大部分安卓手机.但是Android最大的优势就是用户可 ...
- 安卓 dump 工具 影响_工具如何影响文化?
安卓 dump 工具 影响 大多数DevOps社区都在谈论工具的重要性如何. 论据认为,文化必须首先改变,这可能会改变工具的使用方式. 我同意和不同意这个概念. 我相信工具和文化之间的关系比单向更共生 ...
- Valgrind动态分析工具
目录 Valgrind的简介 Valgrind的使用方法 1. 使用步骤 1.1 编译程序 1.2 用Valgrind运行程序 2. 错误类型 2.1 illegal read 非法读 / illeg ...
- 程序员必备:常见的安卓开发工具推荐
Android以其极强的开放性吸引着世界各地的开发者去开发各种各样的移动应用开发,而各种SDK更是为各个层次的开发者提供了一个可以尽情展示他们专业技能和创造性的平台.虽然Java是各种平台最常用的编程 ...
- 程序动态分析工具调研
转自:http://blog.csdn.net/aneutron/article/details/49251921 目录(?)[+] 综述 本文是对程序动态工具的调研,通对各种动态分析工具的原理.功能 ...
- 【动漫风格迁移】基于AnimeGAN的安卓APP工具
[动漫风格迁移]基于AnimeGAN的安卓APP工具 源码地址: 使用效果: 使用方法: 1. 克隆TensorFlow示例的源代码: 2. 将示例应用程序导入到Android Studio: 3. ...
- 安卓adb工具的使用
安卓adb工具的使用 使用安卓手机连接到电脑后,可以使用命令行运行adb指令对手机进行操作.常用的指令有如下几个: 1.adb devices 查看已经连接到电脑上的手机的列表. 2.adb tcpi ...
最新文章
- SQLServer之DEFAULT约束
- Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
- linux内核编译及系统裁减
- 安装Nginx时报错 the HTTP cache module requires md5 functions
- SAP ABAP规划 使用LOOP READ TABLE该方法取代双LOOP内部表的方法
- 分数怎么化成带分数_人教版五年级下册第4单元带分数及把假分数化成整数或带分数教学视频+知识点...
- HDU-3998 Sequence LIS统计
- 解决/usr/local/lib/libglog.so.0: error adding symbols: DSO missing from command line
- 金蝶业务+sqlserver子查询
- 阿里百川IMSDK--自定义群聊界面
- 试用cmd markdown
- Java学习笔记9(面象对象9:多态)
- 教务管理系统数据字典mysql_数据库课程设计报告--教务管理系统设计
- .NET Framework 4.7.2离线安装程序
- Es与MongoDB地理数据搜索性能比较
- 单片机中段程序_单片机程序延时方法详细介绍
- 一周热图|杨紫韩国艺匠婚纱大片出炉;易烊千玺代言麦当劳;洛天依音乐综艺节目首秀...
- MacBook Air 2015换硬盘
- Microsoft Word中编辑Visio图形的方法
- 01 【初识Django】
热门文章
- 巨省显存的重计算技巧在TF、Keras中的正确打开方式
- 如何做机器学习项目规划?一个事半功倍的checklist
- Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
- 消息中间件系列(七):如何从0到1设计一个消息队列中间件
- 学术会议 | 中国杭州举办——第21届国际语义网大会​ISWC2022 Call for Papers
- Peacock:大规模主题模型及其在腾讯业务中的应用-2015
- Leetcode 82. Remove Duplicates from Sorted List II
- 神经网络与推荐系统初步简介
- (六)Spark-Eclipse开发环境WordCount-JavaPython版Spark
- stm32_DMA采集一个AD数据_并通过DMA向串口发送