macOS Universal binaries & Mach-O Format
Last updated
Last updated
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг AWS рд░реЗрдб рдЯреАрдо рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ (ARTE) GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг GCP рд░реЗрдб рдЯреАрдо рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ (GRTE)
Mac OS рдмрд╛рдЗрдирд░реАрдЬ рдЖрдо рддреМрд░ рдкрд░ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдмрд╛рдЗрдирд░реАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдореНрдкрд╛рдЗрд▓ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдПрдХ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдмрд╛рдЗрдирд░реА рдореЗрдВ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рд╡рд┐рд╢реНрд╡рдХрд░реНрдорд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреА рд╣реИред
рдпреЗ рдмрд╛рдЗрдирд░реАрдЬ Mach-O рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИ:
рд╣реЗрдбрд░
рд▓реЛрдб рдХрдорд╛рдВрдбреНрд╕
рдбреЗрдЯрд╛
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬреЗрдВ: mdfind fat.h | grep -i mach-o | grep -E "fat.h$"
рд╣реЗрдбрд░ рдореЗрдВ рдореИрдЬрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╡рд┐рд╢реНрд╡рдХрд░реНрдорд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (nfat_arch
) рд╣реЛрддреА рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реНрд╡рдХрд░реНрдо рдХреЗ рдкрд╛рд╕ fat_arch
рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред
рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджреЗрдЦреЗрдВ:
рдпрд╛ Mach-O View рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ, рдЖрдо рддреМрд░ рдкрд░ 2 рд╡рд┐рд╢реНрд╡рдХрд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдореНрдкрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдмрд╛рдЗрдирд░реА рдПрдХ рд╡рд┐рд╢реНрд╡рдХрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреЙрдореНрдкрд╛рдЗрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдирд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд╣реЗрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореВрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдЬрд╛рджреВ рдмрд╛рдЗрдЯреНрд╕ рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рдПрдХ Mach-O рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд▓рдХреНрд╖рд┐рдд рд╡рд┐рд╢реНрд╡рдХрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реАред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ: mdfind loader.h | grep -i mach-o | grep -E "loader.h$"
рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд╛рд▓реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
MH_OBJECT
: рд╕реНрдерд╛рдирд╛рдВрддрд░рдгреАрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ (рдХреЙрдореНрдкрд╛рдЗрд▓реЗрд╢рди рдХреЗ рдмреАрдЪ рдХреЗ рдЙрддреНрдкрд╛рдж, рдЕрднреА рддрдХ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдирд╣реАрдВ)ред
MH_EXECUTE
: рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВред
MH_FVMLIB
: рд╕реНрдерд┐рд░ VM рдкреБрд╕реНрддрдХрд╛рд▓рдп рдлрд╝рд╛рдЗрд▓ред
MH_CORE
: рдХреЛрдб рдбрдВрдкреНрд╕
MH_PRELOAD
: рдкреВрд░реНрд╡-рд▓реЛрдб рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдлрд╝рд╛рдЗрд▓ (рдЕрдм XNU рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ)
MH_DYLIB
: рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЗрдВ
MH_DYLINKER
: рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд┐рдВрдХрд░
MH_BUNDLE
: "рдкреНрд▓рдЧрдЗрди рдлрд╝рд╛рдЗрд▓реЗрдВ"ред -bundle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ NSBundle
рдпрд╛ dlopen
рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
MH_DYSM
: рд╕рд╣рд╛рдпрдХ .dSym
рдлрд╝рд╛рдЗрд▓ (рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓)ред
MH_KEXT_BUNDLE
: рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ред
рдпрд╛ Mach-O View рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рд╕реНрд░реЛрдд рдХреЛрдб рднреА рдХрдИ рдзреНрд╡рдЬреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ:
MH_NOUNDEFS
: рдХреЛрдИ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдВрджрд░реНрдн рдирд╣реАрдВ (рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛)
MH_DYLDLINK
: Dyld рд▓рд┐рдВрдХрд┐рдВрдЧ
MH_PREBOUND
: рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕рдВрджрд░реНрдн рдкреВрд░реНрд╡рдмрдВрдзрд┐рддред
MH_SPLIT_SEGS
: рдлрд╝рд╛рдЗрд▓ рдЖрд░ / рдУ рдФрд░ рдЖрд░ / рдбрдмреНрд▓реНрдпреВ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИред
MH_WEAK_DEFINES
: рдмрд╛рдЗрдирд░реА рдореЗрдВ рдХрдордЬреЛрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреАрдХ рд╣реИрдВ
MH_BINDS_TO_WEAK
: рдмрд╛рдЗрдирд░реА рдХрдордЬреЛрд░ рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ
MH_ALLOW_STACK_EXECUTION
: рд╕реНрдЯреИрдХ рдХреЛ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдмрдирд╛рдПрдВ
MH_NO_REEXPORTED_DYLIBS
: рдкреБрд╕реНрддрдХрд╛рд▓рдп LC_REEXPORT рдХрдорд╛рдВрдб рдирд╣реАрдВ
MH_PIE
: рд╕реНрдерд╛рди рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдо
MH_HAS_TLV_DESCRIPTORS
: рдзрд╛рдЧреЗ рд╕реЗ рдзрд╛рдЧреЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрдВрдб рд╣реИ
MH_NO_HEAP_EXECUTION
: рд╣реАрдк / рдбреЗрдЯрд╛ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ
MH_HAS_OBJC
: рдмрд╛рдЗрдирд░реА рдореЗрдВ рдУрдмреНрдЬреЗрдХреНрдЯ-рд╕реА рдЦрдВрдб рд╣реИрдВ
MH_SIM_SUPPORT
: рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╕рдорд░реНрдерди
MH_DYLIB_IN_CACHE
: рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреИрд╢ рдореЗрдВ рдбрд╛рдпрд▓рд┐рдмреНрд╕ / рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореЗрдореЛрд░реА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЦрд╛рдХрд╛ рдпрд╣рд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдХреА рд╕реНрдерд╛рди, рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рд░рдВрдн рдкрд░ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдХрд╛ рд╕рдВрджрд░реНрдн, рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпред рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓реЛрдбрд░ (dyld) рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдмрд╛рдЗрдирд░реА рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ред
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ load_command рд╕рдВрд░рдЪрдирд╛, рдЙрд▓реНрд▓рд┐рдЦрд┐рдд loader.h
рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд:
рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЛрдб рдХрдорд╛рдВрдб рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдб рдХрдорд╛рдВрдб рд╣реИрдВ: LC_SEGMENT_64
, LC_LOAD_DYLINKER
, LC_MAIN
, LC_LOAD_DYLIB
, рдФрд░ LC_CODE_SIGNATURE
ред
рдореБрдЦреНрдп рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд▓реЛрдб рдХрдорд╛рдВрдб рдХреИрд╕реЗ __TEXT (рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛрдб) рдФрд░ __DATA (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛) рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдбреЗрдЯрд╛ рдЦрдВрдб рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдСрдлрд╕реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд╛рдЗрдирд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпреЗ рдХрдорд╛рдВрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рдореЗрдВ рдореИрдк рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЗрдирдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ __TEXT рд╕реЗрдЧрдореЗрдВрдЯ, рдЬреЛ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛрдб рдХреЛ рдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ __DATA рд╕реЗрдЧрдореЗрдВрдЯ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдореЗрддрддрд╛ рд╣реИред рдпреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдбреЗрдЯрд╛ рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдореИрдХ-рдУ рдлрд╝рд╛рдЗрд▓ рдореЗрдВред
рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЛрдб рдХрдорд╛рдВрдб рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЗрди рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рднреАрддрд░ рдХреЗ рд╕реЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рд╣реЗрдбрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕реЗрдЧрдореЗрдВрдЯ рд╣реЗрдбрд░ рдорд┐рд▓рддрд╛ рд╣реИ:
рд╕реЗрдЧрдореЗрдВрдЯ рд╣реЗрдбрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
рдпрд╣ рд╣реЗрдбрд░ рдЙрди рд╕реЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд╣реЗрдбрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЦрдВрдб рд╢реАрд░реНрд╖рдХ:
рдпрджрд┐ рдЖрдк рдЦрдВрдб рдСрдлрд╕реЗрдЯ (0x37DC) + рдСрдлрд╕реЗрдЯ рдЬрд╣рд╛рдВ рдЖрд░реНрдХ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 0x18000
рдЬреЛрдбрд╝реЗрдВ --> 0x37DC + 0x18000 = 0x1B7DC
рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣реЗрдбрд░реНрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:
рдЗрд╕ cmd рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЧрдореЗрдВрдЯ:
__PAGEZERO
: рдпрд╣ рдХрд░реНрдиреЗрд▓ рдХреЛ рдкрддрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдПрдбреНрд░реЗрд╕ рдЬреАрд░реЛ рдХреЛ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рд▓рд┐рдЦрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рдпрд╛ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ maxprot рдФрд░ minprot рдЪрд░ рдорд╛рди рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рдкрдврд╝рдиреЗ-рд▓рд┐рдЦрдиреЗ-рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛред
рдпрд╣ рдЖрд╡рдВрдЯрди NULL рдкреНрд╡рд╛рдЗрдВрдЯрд░ рдбрд┐рдлрд░реЗрдВрд╕ рд╡рд▓реНрдирд░реЗрдмрд┐рд▓рд┐рдЯреА рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ XNU рдПрдХ рд╣рд╛рд░реНрдб рдкреЗрдЬ рдЬреАрд░реЛ рдХреЛ рдкреНрд░рдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдХрд╛ рдкрд╣рд▓рд╛ рдкреЗрдЬ (рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛) рдЕрдкреНрд░рд╛рдкреНрдп рд╣реИ (рдХреЗрд╡рд▓ i386 рдореЗрдВ)ред рдПрдХ рдмрд╛рдЗрдирд░реА рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рдЫреЛрдЯрд╛ __PAGEZERO (рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ -pagezero_size
) рдмрдирд╛рдХрд░ рдкрд╣рд▓реЗ 4k рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рдФрд░ рдмрд╛рдХреА 32рдмрд┐рдЯ рдореЗрдореЛрд░реА рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
__TEXT
: рдкрд╛рдареНрдпрдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ (рдХреЛрдИ рд▓реЗрдЦрди рдирд╣реАрдВ)ред рдЗрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЦрдВрдб:
__text
: рдХрдВрдкрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрд╛рдЗрдирд░реА рдХреЛрдб
__const
: рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛ (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП)
__[c/u/os_log]string
: C, рдпреВрдирд┐рдХреЛрдб рдпрд╛ os рд▓реЙрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░
__stubs
рдФрд░ __stubs_helper
: рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдВрд▓рдЧреНрди
__unwind_info
: рд╕реНрдЯреИрдХ рдЕрдирд╡рд╛рдЗрдВрдб рдбреЗрдЯрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рд╕рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд░реНрдкрд┐рдд рдЦрдВрдбреЛрдВ рдХреЗ рд╢реЛрд╖рдг рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
__DATA
: рдбреЗрдЯрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ (рдХреЛрдИ рдЪрд▓рд╛рдпрд╛ рдирд╣реАрдВ)ред
__got:
рдЧреНрд▓реЛрдмрд▓ рдСрдлрд╕реЗрдЯ рдЯреЗрдмрд▓
__nl_symbol_ptr
: рдиреЙрди рд▓реЗрдЬреА (рд▓реЛрдб рдкрд░ рдмрд╛рдЗрдВрдб) рд╕рд┐рдореНрдмрд▓ рдкреЙрдЗрдВрдЯрд░
__la_symbol_ptr
: рд▓реЗрдЬреА (рдЙрдкрдпреЛрдЧ рдкрд░ рдмрд╛рдЗрдВрдб) рд╕рд┐рдореНрдмрд▓ рдкреЙрдЗрдВрдЯрд░
__const
: рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ)
__cfstring
: рдХреЛрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕
__data
: рдЧреНрд▓реЛрдмрд▓ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
__bss
: рд╕реНрдЯреЗрдЯрд┐рдХ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
__objc_*
(__objc_classlist, __objc_protolist, рдЖрджрд┐): рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА
__DATA_CONST
: __DATA.__const рдХреЛ рд╕реНрдерд┐рд░ рдорд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ (рд▓реЗрдЦрди рдЕрдиреБрдорддрд┐рдпрд╛рдБ), рди рд╣реА рдЕрдиреНрдп рдкреЙрдЗрдВрдЯрд░реНрд╕ рдФрд░ рдЧреЙрдЯред рдЗрд╕ рдЦрдВрдб рдиреЗ mprotect
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ __const
, рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЧреЙрдЯ рдЯреЗрдмрд▓ (рдПрдХ рдмрд╛рд░ рд╕реБрд▓рдЭрд╛рдпрд╛ рдЧрдпрд╛) рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рд╣реИред
__LINKEDIT
: рд▓рд┐рдВрдХрд░ (рдбрд╛рдпрд▓реНрдб) рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ, рд╕рд┐рдореНрдмрд▓, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБред рдпрд╣ __TEXT
рдпрд╛ __DATA
рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдиреНрдп рд▓реЛрдб рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбрд╛рдпрд▓реНрдб рдЬрд╛рдирдХрд╛рд░реА: Rebase, Non-lazy/lazy/weak рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдСрдкрдХреЛрдб рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдЬрд╛рдирдХрд╛рд░реА
рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ: рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдкрддреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рддрд╛рд▓рд┐рдХрд╛
рдХреЛрдб рдореЗрдВ рдбреЗрдЯрд╛: __text рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЗрд▓реИрдВрдбреНрд╕
рд╕рд┐рдореНрдмрд▓ рдЯреЗрдмрд▓: рдмрд╛рдЗрдирд░реА рдореЗрдВ рд╕рд┐рдореНрдмрд▓реНрд╕
рдЗрдВрдбрд╛рдпрд░реЗрдХреНрдЯ рд╕рд┐рдореНрдмрд▓ рдЯреЗрдмрд▓: рдкреЙрдЗрдВрдЯрд░/рд╕реНрдЯрдм рд╕рд┐рдореНрдмрд▓реНрд╕
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдмрд▓
рдХреЛрдб рд╣рд╕реНрддрд╛рдХреНрд╖рд░
__OBJC
: рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА __DATA рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рднреА рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд╡рд┐рднрд┐рдиреНрди __objc_* рдЦрдВрдбреЛрдВ рдореЗрдВред
__RESTRICT
: рдПрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ __restrict
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рднреА рдЦрд╛рд▓реА) рдЬреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдЗрдирд░реА рдХреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдпрд╣ DYLD рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░реЗрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрд╛, рд╕реЗрдЧрдореЗрдВрдЯ рднреА рдЭрдВрдбреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддреЗ):
SG_HIGHVM
: рдХреЗрд╡рд▓ рдХреЛрд░ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛)
SG_FVMLIB
: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛
SG_NORELOC
: рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдХреЛрдИ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реИ
SG_PROTECTED_VERSION_1
: рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрдВрдбрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рда рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП __TEXT
рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
LC_UNIXTHREAD/LC_MAIN
LC_MAIN
рдореЗрдВ entryoff рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╣реЛрддрд╛ рд╣реИред рд▓реЛрдб рд╕рдордп рдкрд░, dyld рдмрд╕ рдХреЗ (рдореЗрдореЛрд░реА рдореЗрдВ) рдмрд╛рдЗрдирд░реА рдХреЗ рдЖрдзрд╛рд░ рдореЗрдВ рдЗрд╕ рдорд╛рди рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдХрд░ рдмрд╛рдЗрдирд░реА рдХреЗ рдХреЛрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЫрд▓рддрд╛ рд╣реИред
LC_UNIXTHREAD
рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╣реЛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди dyld
рдЕрдм рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдорд╛рди рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ:
LC_CODE_SIGNATURE
рдореЗрдВ Macho-O рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреЛрдб рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдУрдлрд╝реНрд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмреНрд▓реЙрдм рдХреА рдУрд░ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЗрд╕ рдЦрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдФрд░ рдЗрд╕ рдЧрд┐рд╕реНрдЯ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
LC_ENCRYPTION_INFO[_64]
рдмрд╛рдЗрдирд░реА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рд╕рдорд░реНрдердиред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрдВрдкреНрд░рдорд╛рдЗрдЬ рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХреЗрдЧрд╛ред
LC_LOAD_DYLINKER
рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд┐рдВрдХрд░ рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓ рдХрд╛ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИред рдорд╛рди рд╣рдореЗрд╢рд╛ /usr/lib/dyld
рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ macOS рдореЗрдВ dylib рдореИрдкрд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рдирд╣реАрдВред
LC_IDENT
рдкреБрд░рд╛рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рдкреИрдирд┐рдХ рдкрд░ рдбрдВрдк рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ Mach-O рдХреЛрд░ рдбрдВрдк рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг LC_IDENT
рдХрдорд╛рдВрдб рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
LC_UUID
рд░реИрдВрдбрдо UUIDред рдпрд╣ рдХрд┐рд╕реА рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди XNU рдЗрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд╛рдХреА рд╕рд╛рде рдХреИрд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреНрд░реИрд╢ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
LC_DYLD_ENVIRONMENT
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ dyld рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░реЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╣реА рдЦрддрд░рдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рд╡рд┐рдЪрд╛рд░рд╣реАрди рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓реЛрдб рдХрдорд╛рдВрдб рдХреЗрд╡рд▓ #define SUPPORT_LC_DYLD_ENVIRONMENT
рдХреЗ рд╕рд╛рде рдбрд╛рдпрд▓реНрдб рдмрд┐рд▓реНрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдЧреЗ рд╕рдВрд╡рд┐рджрд╛рди рдХреЗрд╡рд▓ DYLD_..._PATH
рд░реВрдк рдХреЗ рдЪрд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
LC_LOAD_DYLIB
рдпрд╣ рд▓реЛрдб рдХрдорд╛рдВрдб рдПрдХ рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдбрд░ (dyld) рдХреЛ рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдФрд░ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред Mach-O рдмрд╛рдЗрдирд░реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ LC_LOAD_DYLIB
рд▓реЛрдб рдХрдорд╛рдВрдб рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рд▓реЛрдб рдХрдорд╛рдВрдб рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ dylib_command
(рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрднрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрдЯреНрд░рдХреНрдЯ dylib рд╣реЛрддрд╛ рд╣реИ):
рдЖрдк рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрди рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рдореИрд▓рд╡реЗрдпрд░ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ:
DiskArbitration: USB рдбреНрд░рд╛рдЗрд╡ рдХреА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ
AVFoundation: рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░
CoreWLAN: рд╡рд╛рдИрдлрд╛рдИ рд╕реНрдХреИрдиред
рдПрдХ Mach-O рдмрд╛рдЗрдирд░реА рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ LC_MAIN рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдВрдЧреЗред рдХрд┐рд╕реА рднреА рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рдСрдлрд╕реЗрдЯ __DATA_CONST рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ __mod_init_func рдЦрдВрдб рдореЗрдВ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдореВрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ, рдЬреЛ рд▓реЛрдб-рдХрдорд╛рдВрдбреНрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрдИ рд╕реЗрдЧрдореЗрдВрдЯреЛрдВ рд╕реЗ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛ рдЦрдВрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд░ рдЦрдВрдб рдХреЛрдб рдпрд╛ рдбреЗрдЯрд╛ рд╡рд┐рд╢реЗрд╖ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
рдбреЗрдЯрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрд╕ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдореЗрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдб рдХрдорд╛рдВрдбреНрд╕ LC_SEGMENTS_64 рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рдХрд╛рд░реНрдп рд╕рд╛рд░рдгреА: рдЬреЛ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддреА рд╣реИред
рдкреНрд░рддреАрдХ рд╕рд╛рд░рдгреА: рдЬреЛ рдмрд╛рдЗрдирд░реА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдмрд╛рд╣реНрдп рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддреА рд╣реИ
рдпрд╣ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп, рдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХред
рдЗрд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк Mach-O View рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрд╛ CLI рд╕реЗ:
__TEXT
рд╕реЗрдЧрдореЗрдВрдЯ (r-x) рдореЗрдВ:
__objc_classname
: рдХрдХреНрд╖рд╛ рдХреЗ рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕)
__objc_methname
: рдореЗрдердб рдХреЗ рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕)
__objc_methtype
: рдореЗрдердб рдХреЗ рдкреНрд░рдХрд╛рд░ (рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕)
__DATA
рд╕реЗрдЧрдореЗрдВрдЯ (rw-) рдореЗрдВ:
__objc_classlist
: рд╕рднреА Objective-C рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдкреЙрдЗрдВрдЯрд░
__objc_nlclslist
: Non-Lazy Objective-C рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдкреЙрдЗрдВрдЯрд░
__objc_catlist
: рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░
__objc_nlcatlist
: Non-Lazy рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░
__objc_protolist
: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реВрдЪреА
__objc_const
: рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛
__objc_imageinfo
, __objc_selrefs
, objc__protorefs
...
_swift_typeref
, _swift3_capture
, _swift3_assocty
, _swift3_types, _swift3_proto
, _swift3_fieldmd
, _swift3_builtin
, _swift3_reflstr