这是苹果内容缓存系统的逆向工程尝试。
这个项目的目标是在一次严肃的逆向工程尝试中挑战自己,同时创造一些我想做的东西:一个在 Linux 服务器上工作的 Apple 内容缓存。
注意:asset-cache-tool 是其中一些工作的延续。
亲爱的苹果,
我是一个诚实的演员,由于缓存的设计,我不认为这会造成任何伤害。如果您不考虑,请通过我的电子邮件与我联系:[email protected]
谢谢,亚历克斯
请不要滥用您在此处看到的内容。我试图真诚地这样做,并且不会纵容任何对 Apple 内容缓存系统的恶意使用,无论是什么。
内容缓存可在系统偏好设置的共享部分中找到。它用于在本地网络上缓存公共 Apple 内容或 iCloud 内容的内容。 /usr/libexec/AssetCache/AssetCache
负责大部分工作。它有一个 HTTP 服务器,该服务器有一个 API,允许从服务器获取和上传内容。
此外, captures
目录中还提供了数据包捕获。
这里的工作是使用 Charles Proxy 和 Frida 完成的。
tools/frida-ssl-pin.js
文件是一个 Frida 脚本,可以附加到任何 macOS 进程并禁用所有 SSL 验证和 SSL 证书固定。这使我能够深入检查发送到 Apple 服务器的请求。该脚本可能对许多其他用例有用。如果其他人使用它,我很想听听它是如何使用的(我是一个超级书呆子,对逆向工程非常感兴趣)。请注意,需要禁用 SIP 才能正确使用它。
我还有一个修改过的 Frida Python 脚本,它的目标是launchd
来注入 SSL 固定和验证禁用脚本。由于AssetCache
是由 launchd 生成的,因此您可以将 Frida 连接到 launchd,并等待通过该服务生成AssetCache
。该脚本位于: tools/frida-ssl-pin-target.py
,只需执行pip3 install frida frida-tools
并运行脚本即可。