macos - 在任意二进制文件的 MacOS 上更改进程名称
问题描述
我希望能够在 MacOS 中设置任意二进制文件的进程名称(它显示在活动监视器中)。最好,这不需要任何手动逆向工程。
澄清一下,我不是要求在运行时更改它。而是设置一个脚本来更改另一个可执行文件的代码。
(类似于如何argv[0]
在 C 代码中进行更改)
解决方案
您可能会为某些应用程序实现它,但会产生相关的后果。
首先,让我们考虑一下活动监视器中的名称。它是 shell 脚本的可执行文件的名称,它是捆绑包或捆绑包的显示捆绑包名称。
因此,要更改名称,您基本上需要更改文件名或 Info.plist 中的记录。
两者都不适用于 Apple 提供的应用程序,除非您禁用 SIP(如果这可能适合您 - 一切都是可行的)。
谈到非 Apple 应用程序,您可以更改它们的名称或 Info.plist 记录,但这会导致它们的代码签名无效。您将需要手动允许此类应用程序在您的 Mac 上运行并克服所有 Apple 弹出窗口。
没有可用于实现此目标的 API。您要么将使用 hacky 方式,要么需要更改您想要拥有的东西。
推荐阅读
- reactjs - 尝试导入错误:“模型”未从“../模块”导出
- java - 单引号内未替换命名参数
- cuda - openACC 例程中的 cuSPARSE 库调用
- ios - 单个 BLE 中央可以通过低功耗蓝牙连接多个 BLE 外设吗?
- r - 在ggplot中添加手动比例时如何修复错误?
- postgresql - 无法使用 Postgres FDW 访问外部表
- python - z3 中 GADT 的意外行为,得到的值等于每个整数
- python - Numpy 索引广播引入了新维度
- git - 带有 IDE、Atom 的 Github Enterprise
- c++ - 使用 memset() 和 memcpy() 函数