美文网首页ios逆向相关
Introspy --追踪和分析iOS应用

Introspy --追踪和分析iOS应用

作者: 呆呆滴木木菇凉 | 来源:发表于2019-08-14 21:19 被阅读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日志

    源码
    使用教程

    相关文章

      网友评论

        本文标题:Introspy --追踪和分析iOS应用

        本文链接:https://www.haomeiwen.com/subject/nqtojctx.html