大神论坛

找回密码
快速注册
查看: 65 | 回复: 0

[macOS] MAC调试iOS APP的小方法教程

主题

帖子

0

积分

初入江湖

UID
682
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:55
发表于 2023-12-30 22:36
本帖最后由 bant 于 2023-12-30 22:36 编辑

由于隐私合规的问题,需要对介入的第三方的SDK进行审计,防止这些SDK获取一些不该获取信息,但是常规的检测手段有限,不能监控到SDK利用的所有手段.
众所周知,在使用苹果芯片的MAC上面可以直接调试iOS APP,unix上面有各种监听进程的工具,这时候我们可以借助 unix 上面的工具实现我们的目的.
比如说 dtrace 可以监听各种系统调用

dtrace 的名字暗示了自己的脚本,dtrace 使用了 D 语言作为脚本语言,简单介绍一下 dtrace 用法。
如果我们要监听一个进程所有的 syscall 调用,首先,我们需要创建一个叫 syscall.d 文件

syscall::read:entry
{
printf ("%s called read, asking for %d bytes\n", execname, arg2);
}

其中 execname 代表了进程名字
终端运行 sudo dtrace -s syscall.d 脚本,这样子不管SDK是用调用函数还是调用syscall,或者调用svc,甚至隐式调用svc都可以被 dtrace监听到.也可以在脚本中加入 ustack(); 打印调用堆栈,方便向上查找调用点,扩展功能大家自行百度dtrace的用法.

在 unix 还有一个好用的工具 opensnoop,opensnoop 可以监视特定进程的文件打开操作,也是基于dtrace封装实现的
基本用法 sudo opensnoop -n <process_name> 其中 process_name 为需要监听的进程名字

比如我随便监听一个APP

可以看到APP对这些文件进行读写操作,用来检测越狱,其中包括常见的越狱文件检测,frida检测,新机APP检测
本文仅做抛转引玉,更多操作大家可以自行扩展

注:若转载请注明大神论坛来源(本贴地址)与作者信息。

返回顶部