Introspy --追踪和分析iOS应用

前言

近来打算写一个通用的hook OC中的系统函数的工具,然后发现已经有大神造好轮子了,而且还特别的完善和好用,膜拜~~~

下载源码:

git clone https://github.com/iSECPartners/Introspy-iOS

1、进入scr目录打包

make package

2、拷贝到手机

scp  root@:~

工具的话,我比较喜欢使用iFunBox。

3、连接手机

ssh root@

4、安装

dpkg -i 

5、重启设备

killall -HUP SpringBoard

另外可直接:

make package
export THEOS_DEVICE_IP=192.168.1.127
make install

正确安装完之后会在设置里面显示如下选项:

Introspy --追踪和分析iOS应用_第1张图片
setting--Introspy

Introspy-Apps 中选择要跟踪的 app 名称。

Introspy-Settings 则提供一些常规跟踪设置选项,默认是全部开启。

然后启动想要跟踪的应用程序,就可以直接通过introspy生成的对应的应用的sqlite日志数据库来查看

这个界面的展示,用到了AppList 和 PreferenceLoader 两个依赖。
PreferenceLoader 是一个 MobileSubstrate 提供的工具,它可以让开发者在系统设置界面添加应用程序入口。而 AppList 是一个让开发者获取系统中已安装应用信息的库。
这两个工具的完美结合,就可以在系统设置中实现可供选择的应用列表。

实现原理:

只需要在 iOS 设备的 /Library/PreferenceLoader/Preferences 下放入一个 plist 和图标文件。其中,plist 文件用来指定设置界面的展示内容,而图标文件则是用于在系统设置的入口处显示。

回到introspy的源码里,可以找到如下目录:

Introspy --追踪和分析iOS应用_第2张图片
plist路径

展开来看:

Introspy --追踪和分析iOS应用_第3张图片
introspy.plist设置
Introspy --追踪和分析iOS应用_第4张图片
introspy2.plist设置

对应的就是Introspy - Apps和Introspy - Settings的设置内容配置。

查找对应生成数据库文件的路径

find /private/var/mobile/Containers/Data/Application/ -name introspy*
路径查找

数据库中存储的样式


Introspy --追踪和分析iOS应用_第5张图片
db

利用xcode调试项目时,终端也会对应输出捕获日志:


Introspy --追踪和分析iOS应用_第6张图片
xcode日志

Introspy-Analyzer

db格式的看起来不是很直观,所以作者开发一款将db格式转化为html的python脚本工具,Introspy-Analyzer
)。
安装

sudo  pip install git+https://github.com/iSECPartners/Introspy-Analyzer.git

注意python的版本,只支持python2的版本,可以指定下python的版本来安装。

sudo python -m pip install git+https://github.com/iSECPartners/Introspy-Analyzer.git

然后连接上手机,会列出手机上生成的db列表

python -m introspy -p ios -o output -f 192.168.1.12
Introspy --追踪和分析iOS应用_第7张图片
image.png

选择对应的需要解析的db,会在Mac当前路径下生成对应的解析文件


Introspy --追踪和分析iOS应用_第8张图片
output

对应的report.html用浏览器打开就很直观看到对应的数据信息


Introspy --追踪和分析iOS应用_第9张图片
report.html

源码
使用教程

你可能感兴趣的:(Introspy --追踪和分析iOS应用)