A Repo For Storing Information On MacOS' Library Symbols
Go to file
Thomas A 4794e1387c Reworked Program To Support Analysing The "Cryptexes" Partition
Starting with macOS Ventura (13), Apple has made some changes to where the sharedcache is located. As a result, the program has been rewritten to support obtain symbols from multiple locations. A nice consequence of this change is that we now grab the symbols for DriverKit as well.

For anyone interested in more details about the cryptexes, i recommend readling the following article: https://threedots.ovh/blog/2022/06/a-quick-look-at-macos-rapid-security-response/
2024-11-21 10:13:41 -08:00
.vscode Add Arguments For Debugging. 2022-07-23 18:06:39 -07:00
src Reworked Program To Support Analysing The "Cryptexes" Partition 2024-11-21 10:13:41 -08:00
.gitignore Reworked Program To Support Analysing The "Cryptexes" Partition 2024-11-21 10:13:41 -08:00
Cargo.toml Use "clap" for managing arguments. 2024-11-21 10:13:41 -08:00
LICENSE Initial commit 2022-07-14 11:12:14 -07:00
README.md Add Readme 2024-11-21 10:13:41 -08:00

Library Symbols

This repository will be used to store the library symbols from Apple's operating systems.

Requirements

This tool was designed to run on macOS only. Windows and Linux are not supported.

The tool relies on the following applications being installed.

Building

You will need the Rust development toolkit before you are able to compile the program.

cargo build

After a successful build, the program will live in target/debug/library_symbols.

How To Use The Program

library_symbols [--base_path path_to_os_files] results_folder

Arguments

  • results_folder: Where the symbols information (nm, otool, etc.) will be stored.
  • --base_path [Optional]: Specify the root filesystem the application should grab the symbols from. If no argument is provided, the path / will be used. This is useful for getting symbols from an iPSW file or from an external macOS install.

Examples

Extracting iPadOS symbols from iPad_Spring_2021_15.5_19F77_Restore.ipsw (don't forget to decompress the .ipsw and mount the 078-12432-106.dmg image first).

library_symbols --base_path '/Volumes/SkyF19F77.J407J408OS' '/Users/user/Desktop/symbols'

Extracting symbols from current machine (macOS).

library_symbols '/Users/user/Desktop/symbols'