Files
apple-internals/README.md
2025-05-15 20:50:56 +02:00

35 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Apple Internals
===============
This repository provides tools and information to help understand and analyze the internals
of Apples operating system platforms. Information is collected in a text file and
[presented on a website](https://mroi.github.io/apple-internals). A [Nix
flake](https://nixos.wiki/wiki/Flakes) allows to build the following externally hosted
tools:
[**acextract**](https://github.com/bartoszj/acextract)
Unpacks asset catalogs to individual files.
[**dyld-shared-cache-extractor**](https://github.com/keith/dyld-shared-cache-extractor)
Extracts dynamic libraries from the dyld linker cache.
[**snapUtil**](https://github.com/ahl/apfs)
Manages APFS snapshots.
The Makefile aggregates various kinds of information from the system in a SQLite database
and checks the internals text file against this information. Collected details include:
* all file names of the installed macOS and the iOS, tvOS, and watchOS simulators
* linkages of binaries to libraries
* entitlements for all executables
* plain-text strings embedded in binaries
* launchd service descriptions and bundle Info.plist content
* lists of assets inside asset catalogs
To manually analyze and debug macOS, it can be helpful to temporarily [disable its security
protections](https://gist.github.com/macshome/15f995a4e849acd75caf14f2e50e7e98).
___
This work is licensed under the [MIT license](https://mit-license.org) so you can freely use
and share as long as you retain the copyright notice and license text.