ios逆向相关

Introspy --追踪和分析iOS应用

2019-08-14  本文已影响3人  呆呆滴木木菇凉

前言

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

下载源码:

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

1、进入scr目录打包

make package

2、拷贝到手机

scp <package.deb> root@<device_ip>:~

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

3、连接手机

ssh root@<device_ip>

4、安装

dpkg -i <package.deb>

5、重启设备

killall -HUP SpringBoard

另外可直接:

make package
export THEOS_DEVICE_IP=192.168.1.127
make install

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

setting--Introspy

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

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

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

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

实现原理:

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

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

plist路径

展开来看:

introspy.plist设置 introspy2.plist设置

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

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

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

数据库中存储的样式


db

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


xcode日志

源码
使用教程

上一篇下一篇

猜你喜欢

热点阅读