前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS逆向之hook日志查看

iOS逆向之hook日志查看

作者头像
用户4682003
发布2022-05-19 13:57:24
9970
发布2022-05-19 13:57:24
举报
文章被收录于专栏:网络安全技术点滴分享

iOS逆向时,我们通常会借助hook的方法来查看某个阶段函数参数或类成员变量的值,从而帮助我们确定关键call及算法还原时验证是否正确。

我们使用hook时,会将要查看的寄存器的值保存到文本、弹窗显示或者打印log输出到终端及重定向到文本中。

这里将介绍当通过打印log获取函数参数值时,如果在终端查看log。

iOS版本 < 10时

在越狱的iPhone手机中,可以直接在cydia中搜索Syslogd to /var/log/syslog 并安装,如果没有找到Syslogd to /var/log/syslog时,则先在源中添加 http://apt.saurik.com 源后,再尝试搜索试试。

安装完Syslogd to /var/log/syslog 后,当我们再hook iOS应用函数时,则可以在/var/log/syslog中查看我们打印出的日志消息,或者也可以通过Xcode -> Window -> Devices and Simulators -> View Devices Logs 查看对应设备的日志,在搜索框中通过关键词过滤出相应日志。

iOS版本 >= 10时

当iOS版本大于等于10时,则我们hook函数后打印日志无法通过syslog再进行查看,因此需要通过其他方式查看我们打印出的日志。

使用libimobiledevice程序进行查看,在使用之前需要先下载安装libimobiledevice到mac中。

  1. 下载libimobiledevice git clone https://github.com/libimobiledevice/libimobiledevice.git
  2. 下载完以后,准备编译libimobiledevice,在开始编译之前使用以下命令先查看requirements中的gnutls是否已经安装,如果未安装,则先安装,否则编译会报错。 brew search gnutls #查看是否已经安装 已经安装时,则如下图所示,在安装包旁边会有一个绿色小钩
  1. 未安装gnutls时,则通过以下命令安装gnutls及libgcrypt brew install gnutls brew install libgcrypt
  2. 安装完以后,进入libimobiledevice工程目录中,使用以下命令编译工程 ./autogen.sh --disable-openssl make && make install
  3. 编译成功后,将iPhone手机连接到mac后,在终端中使用以下命令查看libimobiledevice是否安装成功 idevicesyslog #如果执行该命令后,开始打印日志则说明安装成功
  4. 通过grep过滤关键词,即可查看到我们hook后打印出的日志,如下图所示 idevicesyslog | grep "SpringBoard is hooked"

附上log输出格式

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全技术点滴分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档