使用方法
process_inject <target> <dylib> [flags]
参数说明:
:目标进程,可以是以下三种形式之一: – 已运行进程的 PID(进程 ID) – 已运行进程的名称(需加 -name 参数) – 应用程序的完整路径(用于新进程注入,需加 -spawn 参数)
:要注入的动态库的完整路径。
[flags]:可选参数,用于指定注入模式。
支持的 Flags:
name:使用进程名称查找目标进程(适用于已运行进程)。
spawn:从指定的 App Bundle 路径启动一个新进程并注入 dylib。
使用示例
向已运行进程(通过 PID)注入:
process_inject 1234 “/path/your.dylib”
向已运行进程(通过名称)注入:
process_inject “Safari” “/path/your.dylib” -name
启动新进程并注入(spawn 模式):
process_inject “/Applications/Calculator.app/Contents/MacOS/Calculator” “/path/your.dylib” -spawn
注意事项:
系统必须关闭 SIP(系统完整性保护)才能进行注入操作。
进入 Recovery 模式,打开终端执行:
csrutil disable
重启后即可进行注入测试。
注入系统进程或 root 权限进程需要使用管理员权限(sudo)执行。
若工具本身未签名或无合适的 entitlements,可能导致注入失败。可使用以下命令签名:
sudo codesign -f -s – –all-architectures –deep –entitlements “process_inject.entitlements” process_inject