MacOS怎么注入系统应用?如邮件、计算器、设置等

  1. 动态注入(环境变量):AloneMonkey的文章有介绍 DYLD_INSERT_LIBRARIES 注入,但似乎只生效在第三方应用?

  2. 静态注入:insert_dylib将dylib注入到二进制文件中生成新的二进制,发现没有文件修改权限

  3. 动态注入(进程注入):osx dylib injection 向进程中注入dylib 不动原二进制,高权限无修改的注入,发现无法获取task pid

似乎都是系统应用的权限问题?

参考: MacOS动态注入的三种方式及hook方案

试试xcode。随便新建一个mac项目,然后修改scheme,把执行程序改为你想调试的那个程序,然后修改启动环境参数,添加 DYLD_INSERT_LIBRARIES参数,把你想注入的dylib路径写进去。最后启动xcode调试,mac自带的程序也可以调试

是在多少的MacOS系统上才有效吗?

我这边试了,Xcode的Target,Edit Scheme那修改了启动参数,改为启动Mail,然后提示attach failed。

如果直接启动本应用,或者第三方应用,是可以注入的