首页 > 解决方案 > 在任意二进制文件的 MacOS 上更改进程名称

问题描述

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

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

(类似于如何argv[0]在 C 代码中进行更改)

标签: macosreverse-engineeringexecutable

解决方案


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

首先,让我们考虑一下活动监视器中的名称。它是 shell 脚本的可执行文件的名称,它是捆绑包或捆绑包的显示捆绑包名称。

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

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

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

没有可用于实现此目标的 API。您要么将使用 hacky 方式,要么需要更改您想要拥有的东西。


推荐阅读