mac_apt更新:BTM文件处理能力增强
本文重点介绍了mac_apt中AUTOSTART插件的改进。
自macOS 13(Ventura)起,登录项和后台任务通过.BTM文件进行管理和跟踪。该文件位于以下路径:
/private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v<xx>.btm
其中<xx>是版本号,在macOS 15.2中当前为13。
大部分(但非全部!)信息最终用户可以通过系统设置中的"登录项与扩展"页面查看,如下图所示。
图1 - 系统设置中的登录项与扩展
mac_apt的AUTOSTART插件已经能够处理BTM文件,但现在得到了显著改进。之前未解析BTM特定参数,并且包含了开发者条目(这些并非自启动项),这使得数据难以阅读和解释,同时也遗漏了一些关键信息。
BTM文件是NSKeyedArchives,当反序列化后包含每个用户的项(登录和后台任务)字典。
图2 - .BTM文件中单个项的片段
这些项如何被解释并转换为上述美观的GUI视图,主要取决于参数"type"和"disposition"。已观测到这些字段的以下值:
|
|
“type"值指示该项是代理、守护进程、应用程序、用户定义项,还是spotlight或quicklook扩展。
当用户在"允许在后台运行"设置中将某个项的选项切换为OFF时,这将清除Disposition标志中的’Allowed’位,从而表示"Not Allowed”。
mac_apt现在读取、解释并显示BTM参数,包括disposition、type、container、developer和executableModifiedDate。以下针对"Not Allowed"过滤的输出片段将显示与系统设置GUI中相同的输出。如上文图1(及下图图4)所示,2个Citrix项被切换为OFF,导致属于这些项的6个应用程序处于"Not Allowed"组中。
图3 - 来自mac_apt的AUTORUNS输出片段,按BackgroundTask项和’Not Allowed’ disposition过滤
图4 - 系统设置中禁用的项
这大大简化了后台应用程序的审查。如果应用程序本身禁用了启动项,则’Enabled’标志关闭,这将不会出现在BTM_Disposition列中。mac_apt将在Disabled列中填充值'1’来同样指示这种情况。
还添加了"AppArguments"列,该列应填充所有已处理文件(BTM和plists)的完整命令行参数。
请注意,mac_apt将处理所有遇到的.btm文件,因此您可能会看到重复的数据,因为可能存在较旧的.btm文件,这些是以前macOS版本的残留工件。在我的测试系统上,我有BackgroundItems-v9.btm和BackgroundItems-v13.btm。从取证的角度来看,查看该时间点的自启动项可能很有用。如果您希望仅查看当前数据,则必须在输出中按"Source"列进行过滤。