在任意二进制文件的 MacOS 上更改进程名称

Change process name on MacOS of arbitrary binaries

我希望能够在 MacOS 中设置任意二进制文件的进程名称(如 Activity 监视器中显示的那样)。最好,这不需要任何手动逆向工程。

澄清一下,我并不是要在运行时更改它。相反,设置一个脚本来更改另一个可执行文件的代码。

(类似于在 C 代码中更改 argv[0] 的方式)

您可能会为某些应用实现它,但会产生相关后果。

首先,让我们考虑一下Activity 监视器中的名称。它是 shell 个脚本的可执行文件的名称,它是一个 Bundle 或显示的 Bundle 名称。

因此,要更改名称,您基本上需要更改文件名称或 Info.plist 中的记录名称。

对于 Apple 提供的应用程序,这两种方法都不可行,除非您禁用 SIP(​​如果这适合您 - 一切都可行)。

谈到非 Apple 应用程序,您可以更改它们的名称或 Info.plist 记录,但这会导致它们的代码签名无效。您需要手动允许此类应用程序在您的 mac 上 运行 并克服所有关于此的 Apple 弹出窗口。

没有 API 可以用来实现这个目标。您要么使用 hacky 方式,要么需要更改您想要的内容。