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表中添加条目

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图文解析】带你看清全球机器人四大家族现状,四家企业瓜分中国57%、全球50%的市场份额...

来源:前瞻经济学研究院摘要:工业机器人是智能制造业最具代表性的装备。工业机器人是智能制造业最具代表性的装备。工业机器人集精密化、柔性化、智能化、软件应用开发等先进制造技术于一体,通过对过程实施检测、控制、优化、调度、管理和决策…

从微软一站式代码库中学到的--跨域之间的session共享

据说下面的这段代码这件可以实现不同域之间的session共享&#xff1a; namespace CSASPNETShareSessionBetweenSubDomainsModule{ /// <summary> /// A HttpModule used for sharing the session between Applications in /// sub domains. /// </summar…

专家解读下一代互联网创新模式,核心技术是根本

来源&#xff1a;经济参考报摘要&#xff1a;下一代互联网全面建成还有哪些现实困境&#xff1f;如何解决发展中面临的现实困境&#xff0c;让下一代互联网真正落地生根&#xff1f;如何促进下一代互联网与社会治理同步推进&#xff1f;专访了IPv6推动者、中国工程院院士吴建平…

一文读懂类加载机制 --- ClassLoader

From&#xff1a;https://www.cnblogs.com/sunnick/p/9609326.html 【JVM笔记】classloader加载class文件的原理和机制&#xff1a;https://www.jianshu.com/p/52c38cf2e3d4 JVM 架构整体架构 在进入 classloader 分析之前&#xff0c;先了解一下 jvm 整体架构&#xff1a; JV…

数学家到底在研究什么?牛人解说数学体系

来源&#xff1a;环球物理摘要&#xff1a;这个题目在当今Computer Vision中百花齐放的世界中并没有任何特别的地方。事实上&#xff0c;使用各种Graphical Model把各种东西联合在一起framework&#xff0c;在近年的论文中并不少见。一、为什么要深入数学的世界作为计算机的学生…

Frida hook 加固的 Android 应用

Android 加固应用Hook方式 --- Frida&#xff1a;https://github.com/xiaokanghub/Android 转载&#xff1a;使用 frida 来 hook 加固的 Android 应用的 java 层&#xff1a;https://bbs.pediy.com/thread-246767.htm 使用 Frida 给 apk 脱壳并穿透加固 Hook 函数&#xff1a…

176页报告辟谣自动化时代的就业危机(附下载)

来源&#xff1a;智东西摘要&#xff1a;世行从新兴技术的社会影响出发&#xff0c;盘点劳动力市场的再培训、再就业需求&#xff0c;以及资本、政府的社会职责。近十年&#xff0c;以人工智能为代表的技术爆炸正在重塑新一轮社会经济格局。这些创新极大地改变了就业市场形势&a…

CSS3技巧 —— 渐变

CSS渐变在Webkit率先得到实现&#xff0c;现在Firefox 3.6也支持了&#xff0c;来看下各个浏览器如何实现CSS渐变效果。 Webkit 下面这行代码可用于Chrome, Safari等&#xff0c;它能实现线性渐变&#xff0c;从top(#ccc)渐变到bottom(#000)。 background: -webkit-gradient(li…

Frida hook 插件化 apk ( classloader )

From&#xff1a;使用 frida hook 插件化 apk&#xff1a;https://bbs.pediy.com/thread-258772.htm 最近拿到一个XX视频apk样本&#xff0c;里面有视频、直播和小说&#xff0c;没有VIP只能试看30秒&#xff0c;刚好最近学习frida&#xff0c;用来练习下&#xff0c;分析过程中…

MIT开发出新界面系统 操作员可用思维控制机器人

来源&#xff1a;VentureBeat、网易科技摘要&#xff1a;麻省理工学院(MIT)下属计算机科学与人工智能实验室(CSAIL)的研究人员开发了一种新界面&#xff0c;它可以读取人类操作人员的脑电波&#xff0c;让他们通过思维命令机器执行任务。据VentureBeat报道&#xff0c;用思维控…

windows 远程执行 cmd 命令的 9 种方法

一、远程执行命令方式及对应端口:  IPC$AT 445  PSEXEC 445  WMI 135  Winrm 5985(HTTP)&5986(HTTPS) 二、9种远程执行cmd命令的方法&#xff1a; 1.WMI执行命令方式,无回显&#xff1a; wmic /node:192.168.1.158 /user:pt007 /password:admin123 process call …

不要指望未来科学的发展会改变元素周期表的形式

来源&#xff1a;陈敏伯科学网博客摘要&#xff1a;对于自然界的许多规律&#xff0c;哪怕我们对其物理具体内容还不知道、实验证据还不足&#xff0c;但是可以单凭问题中明显可见的对称性质&#xff0c;就可以从理论上演绎出一些重要结论。很长时间以来&#xff0c;化学界关于…

Appium 简明教程

转载&#xff1a;Appium 简明教程&#xff1a;http://www.testclass.net/appium https://www.cnblogs.com/fnng/p/4540731.html Appium 官网&#xff1a;http://appium.io/ Github 地址&#xff1a;https://github.com/appium/appium 主要包括以下几部分&#xff1a; appium新…

陈俊龙:从深度强化学习到宽度强化学习—结构,算法,机遇及挑战

来源&#xff1a;AI科技评论摘要&#xff1a;如何赋予机器自主学习的能力&#xff0c;一直是人工智能领域的研究热点。强化学习与宽度学习如何赋予机器自主学习的能力&#xff0c;一直是人工智能领域的研究热点。在越来越多的复杂现实场景任务中&#xff0c;需要利用深度学习、…

Web.Config文件配置之数据库连接配置

Web.Config文件以XML形式存在于ASP.NET应用程序中&#xff0c;是ASP.NET应用程序的配置文件&#xff0c;包含程序调试、会话和全球化设置等配置信息&#xff0c;可以直接用记事本打开进行编辑。下面通过实例说明如何配置Web.Config文件。 一、配置Access数据库连接 Access数据库…

pyspider 安装 和 快速开始

From&#xff1a;官方文档 --- 快速开始&#xff1a;http://docs.pyspider.org/en/latest/Quickstart/ pyspider github 地址&#xff1a;https://github.com/binux/pyspider pyspider 官方文档&#xff1a;http://docs.pyspider.org/en/latest/ 爬虫框架 pyspider个人总结&…

【干货】强化学习介绍

作者 | Thomas Simonini编译 | 专知整理 | Yongxi摘要&#xff1a;由于Alpha Go的成功&#xff0c;强化学习始终是人们谈论的焦点。现在Thomas Simonini在国外blog网站上发布了系列强化学习教程&#xff0c;以下是本系列的第一篇&#xff0c;简单介绍了强化学习的基本概念。An …

爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战

From&#xff1a;https://piaosanlang.gitbooks.io/spiders/content/ scrapy-cookbook &#xff1a;https://scrapy-cookbook.readthedocs.io/zh_CN/latest/index.html 1. 爬虫框架 Scrapy 爬虫框架中比较好用的是 Scrapy 和 PySpider。 PySpider 优点&#xff1a;分布式框架&a…

传粉飞行器是拯救传粉昆虫危机的利器还是毁灭者

来源&#xff1a;陈华燕的科学网博客摘要&#xff1a;近年来科学家陆续发现&#xff0c;传粉昆虫正在面临着重重危机&#xff0c;至少在欧洲和北美已发现传粉昆虫的数量正在逐渐下降。近年来科学家陆续发现&#xff0c;传粉昆虫正在面临着重重危机&#xff0c;至少在欧洲和北美…

字符串比较函数实现,超简单的面试题,回过头来发现原来我的c多么的薄弱

今天某个公司面试&#xff0c;尽管报了个测试类的&#xff0c;但是面试依旧不给力&#xff0c;先是写个字符串比较函数&#xff0c;只判断相等和不相等的情况&#xff0c;当时大概这么写的&#xff1a; #include<stdio.h>bool strCompare(char *str1,char *str2){char *s…