OSX getconf 在哪里读取它的值

逆向工程 操作系统
2021-06-21 13:28:11

我根本没有逆向工程经验。我希望这个基本问题适合这个网站。基本上我想知道从哪里DARWIN_USER_CACHE_DIR读取我正在尝试像这样跟踪系统调用:

sudo bash dtruss /usr/bin/getconf DARWIN_USER_CACHE_DIR -h -f -a

因此,它也将遵循任何分叉流程。但是,我看不到任何表明它来自何处的呼叫。

1个回答

注意:我对 OSX 不太了解,如果 24 小时后有另一个答案,我也不会回答。

根据Apple 的说法getconf使用sysconfconfstr找到这些配置值,使用confstr处理DARWIN_USER_CACHE_DIRconfstr库函数很可能硬编码这些值-如果你检查glibc的源代码,你看到的glibc的版本confstr会有限制CS_PATH,以及。

但是,confstr手册页还指出,EIO如果存在“与 opendirectoryd(8) 通信的 I/O 错误”,它可以返回错误代码这意味着这些值也可能是 opendirectory 属性。如果有任何套接字调用,请检查您的 dtruss 输出;如果没有,这些属性可能是在 libc 中硬编码的;否则,这些路径可能隐藏在 opendirectory 配置中的某处。