2 个版本
0.1.1 | 2022 年 8 月 1 日 |
---|---|
0.1.0 | 2022 年 8 月 1 日 |
#105 在 macOS 和 iOS API 中
每月 21 次下载
11KB
163 行
appleargs
一个小型 crate,用于获取进程的 "apple 参数"
什么是 apple 参数?
它们是在基于 Darwin 的操作系统上,内核传递给可执行程序的额外字符串集合。它们完全未记录(如果你找到了,请打开一个问题 :D),并且据任何人所知,仅用于存储或提示给 dyld
使用的关于正在运行进程的预计算信息。
这些值在进程的 执行序列 中设置,并在启动可执行文件时由 dyld
在多个点读取。虽然这些值很容易更改,但 dyld
是开源的,因此可以参考一些好的例子...
kern_exec.c
似乎有可能会出现的 完整参数列表。这个 crate 不会尝试记录或解析它们,因为它们的性质非常不稳定。
示例
"executable_path=/Users/person/dev/project/target/debug/bin"
"ptr_munge="
"main_stack="
"executable_file=0x1a0100000f,0x71b112"
"dyld_file=0x1a0100000f,0xfffffff000dc897"
"executable_cdhash=acd984a2fa40d1b36ba71094e7c0318a6bf15084"
"executable_boothash=cd0228d404782f85c4ef3d65dc2ae92aaa66578b"
"arm64e_abi=os"
"th_port="
支持的操作系统
这个 crate 应该在大多数 macOS 和 iOS 版本上工作(但没有明确测试)。自动测试发生在
- macOS 10.15
- macOS 11
- macOS 12
- iOS 12.4