Skip to content

A Rust crate to read the process' apple arguments

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

BlackHoleFox/appleargs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

appleargs

CI Status Docs Latest Version

A smol crate to grab your process' "apple arguments"

What are apple arguments?

They are an extra set of strings optionally passed to an executable by the kernel on Darwin-based operating systems. They are entirely undocumented (Open an issue if you find it :D), and as far as anyone can tell, solely intended to store or hint precomputed information about the running process for dyld to use.

The values are set during the exec sequence of a process and subsequently read by dyld at various points when it starts an executable. While these can easily change, dyld is open source so it can be referenced for good examples like...

kern_exec.c seems to have the full list of parameters that could appear. This crate doesn't attempt to document or parse them because of their amazingly unstable nature.

Example

"executable_path=/Users/person/dev/project/target/debug/bin"
"ptr_munge="
"main_stack="
"executable_file=0x1a0100000f,0x71b112"
"dyld_file=0x1a0100000f,0xfffffff000dc897"
"executable_cdhash=acd984a2fa40d1b36ba71094e7c0318a6bf15084"
"executable_boothash=cd0228d404782f85c4ef3d65dc2ae92aaa66578b"
"arm64e_abi=os"
"th_port="

Supported Operating Systems

This crate should on most macOS and iOS versions (but is not explictly tested). Automated testing occurs on:

  • macOS 10.15
  • macOS 11
  • macOS 12
  • iOS 12.4

About

A Rust crate to read the process' apple arguments

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages