396 lines · yaml
1# A valid MachO object with a weak-bind table following a bind table ending2# with an effectively no-op opcode `BIND_OPCODE_SET_TYPE_IMM(1)` instead of3# a `BIND_OPCODE_DONE` or an actual bind `BIND_OPCODE_DO_BIND[_*]`, following4# a rebase table ending with an effectively no-op opcode5# `REBASE_OPCODE_SET_TYPE_IMM(1)` instead of a `REBASE_OPCODE_DONE` or an6# actual rebase `REBASE_OPCODE_DO_REBASE_*`.7--- !mach-o8FileHeader:9 magic: 0xFEEDFACF10 cputype: 0x100000C11 cpusubtype: 0x012 filetype: 0x613 ncmds: 1514 sizeofcmds: 123215 flags: 0x11808516 reserved: 0x017LoadCommands:18 - cmd: LC_SEGMENT_6419 cmdsize: 39220 segname: __TEXT21 vmaddr: 022 vmsize: 3276823 fileoff: 024 filesize: 3276825 maxprot: 526 initprot: 527 nsects: 428 flags: 029 Sections:30 - sectname: __text31 segname: __TEXT32 addr: 0x400033 size: 3234 offset: 0x400035 align: 236 reloff: 0x037 nreloc: 038 flags: 0x8000040039 reserved1: 0x040 reserved2: 0x041 reserved3: 0x042 content: C0035FD6FD7BBFA9FD03009105000094000080D206000094FD7BC1A8C0035FD643 - sectname: __stubs44 segname: __TEXT45 addr: 0x402046 size: 2447 offset: 0x402048 align: 249 reloff: 0x050 nreloc: 051 flags: 0x8000040852 reserved1: 0x053 reserved2: 0xC54 reserved3: 0x055 content: 30000090100240F900021FD650000090100240F900021FD656 - sectname: __stub_helper57 segname: __TEXT58 addr: 0x403859 size: 3660 offset: 0x403861 align: 262 reloff: 0x063 nreloc: 064 flags: 0x8000040065 reserved1: 0x066 reserved2: 0x067 reserved3: 0x068 content: 5100009031220091F047BFA930000090100640F900021FD650000018F9FFFF170000000069 - sectname: __unwind_info70 segname: __TEXT71 addr: 0x405C72 size: 9673 offset: 0x405C74 align: 275 reloff: 0x076 nreloc: 077 flags: 0x078 reserved1: 0x079 reserved2: 0x080 reserved3: 0x081 content: 010000001C000000000000001C000000000000001C00000002000000004000004000000040000000204000000000000040000000000000000000000000000000030000000C00020014000200000000000400000100000002000000040000000082 - cmd: LC_SEGMENT_6483 cmdsize: 15284 segname: __DATA_CONST85 vmaddr: 3276886 vmsize: 1638487 fileoff: 3276888 filesize: 1638489 maxprot: 390 initprot: 391 nsects: 192 flags: 1693 Sections:94 - sectname: __got95 segname: __DATA_CONST96 addr: 0x800097 size: 1698 offset: 0x800099 align: 3100 reloff: 0x0101 nreloc: 0102 flags: 0x6103 reserved1: 0x2104 reserved2: 0x0105 reserved3: 0x0106 content: '00400000000000000000000000000000'107 - cmd: LC_SEGMENT_64108 cmdsize: 232109 segname: __DATA110 vmaddr: 49152111 vmsize: 16384112 fileoff: 49152113 filesize: 16384114 maxprot: 3115 initprot: 3116 nsects: 2117 flags: 0118 Sections:119 - sectname: __la_symbol_ptr120 segname: __DATA121 addr: 0xC000122 size: 8123 offset: 0xC000124 align: 3125 reloff: 0x0126 nreloc: 0127 flags: 0x7128 reserved1: 0x4129 reserved2: 0x0130 reserved3: 0x0131 content: '5040000000000000'132 - sectname: __data133 segname: __DATA134 addr: 0xC008135 size: 8136 offset: 0xC008137 align: 3138 reloff: 0x0139 nreloc: 0140 flags: 0x0141 reserved1: 0x0142 reserved2: 0x0143 reserved3: 0x0144 content: '0000000000000000'145 - cmd: LC_SEGMENT_64146 cmdsize: 72147 segname: __LINKEDIT148 vmaddr: 65536149 vmsize: 16384150 fileoff: 65536151 filesize: 272152 maxprot: 1153 initprot: 1154 nsects: 0155 flags: 0156 - cmd: LC_ID_DYLIB157 cmdsize: 48158 dylib:159 name: 24160 timestamp: 1161 current_version: 0162 compatibility_version: 0163 Content: '@rpath/libtest.dylib'164 ZeroPadBytes: 4165 - cmd: LC_DYLD_INFO_ONLY166 cmdsize: 48167 rebase_off: 65536168 rebase_size: 8169 bind_off: 65544170 bind_size: 24171 weak_bind_off: 65568172 weak_bind_size: 16173 lazy_bind_off: 65584174 lazy_bind_size: 16175 export_off: 65600176 export_size: 40177 - cmd: LC_SYMTAB178 cmdsize: 24179 symoff: 65648180 nsyms: 5181 stroff: 65752182 strsize: 56183 - cmd: LC_DYSYMTAB184 cmdsize: 80185 ilocalsym: 0186 nlocalsym: 1187 iextdefsym: 1188 nextdefsym: 2189 iundefsym: 3190 nundefsym: 2191 tocoff: 0192 ntoc: 0193 modtaboff: 0194 nmodtab: 0195 extrefsymoff: 0196 nextrefsyms: 0197 indirectsymoff: 65728198 nindirectsyms: 5199 extreloff: 0200 nextrel: 0201 locreloff: 0202 nlocrel: 0203 - cmd: LC_UUID204 cmdsize: 24205 uuid: 3A5ED8A0-F9D2-35D8-8C0E-4914289341CC206 - cmd: LC_BUILD_VERSION207 cmdsize: 32208 platform: 2209 minos: 1114112210 sdk: 1179648211 ntools: 1212 Tools:213 - tool: 3214 version: 73073920215 - cmd: LC_SOURCE_VERSION216 cmdsize: 16217 version: 0218 - cmd: LC_ENCRYPTION_INFO_64219 cmdsize: 24220 cryptoff: 16384221 cryptsize: 16384222 cryptid: 0223 pad: 0224 - cmd: LC_LOAD_DYLIB225 cmdsize: 56226 dylib:227 name: 24228 timestamp: 2229 current_version: 88539136230 compatibility_version: 65536231 Content: '/usr/lib/libSystem.B.dylib'232 ZeroPadBytes: 6233 - cmd: LC_FUNCTION_STARTS234 cmdsize: 16235 dataoff: 65640236 datasize: 8237 - cmd: LC_DATA_IN_CODE238 cmdsize: 16239 dataoff: 65648240 datasize: 0241LinkEditData:242 RebaseOpcodes:243 - Opcode: REBASE_OPCODE_SET_TYPE_IMM244 Imm: 1245 - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB246 Imm: 1247 ExtraData: [ 0x0 ]248 - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES249 Imm: 1250 - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB251 Imm: 2252 ExtraData: [ 0x0 ]253 - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES254 Imm: 1255 - Opcode: REBASE_OPCODE_SET_TYPE_IMM256 Imm: 1257 BindOpcodes:258 - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM259 Imm: 1260 Symbol: ''261 - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM262 Imm: 0263 Symbol: dyld_stub_binder264 - Opcode: BIND_OPCODE_SET_TYPE_IMM265 Imm: 1266 Symbol: ''267 - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB268 Imm: 1269 ULEBExtraData: [ 0x8 ]270 Symbol: ''271 - Opcode: BIND_OPCODE_DO_BIND272 Imm: 0273 Symbol: ''274 - Opcode: BIND_OPCODE_SET_TYPE_IMM275 Imm: 1276 Symbol: ''277 WeakBindOpcodes:278 - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM279 Imm: 0280 Symbol: _foo281 - Opcode: BIND_OPCODE_SET_TYPE_IMM282 Imm: 1283 Symbol: ''284 - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB285 Imm: 1286 ULEBExtraData: [ 0x0 ]287 Symbol: ''288 - Opcode: BIND_OPCODE_DO_BIND289 Imm: 0290 Symbol: ''291 - Opcode: BIND_OPCODE_DONE292 Imm: 0293 Symbol: ''294 LazyBindOpcodes:295 - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB296 Imm: 2297 ULEBExtraData: [ 0x0 ]298 Symbol: ''299 - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM300 Imm: 1301 Symbol: ''302 - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM303 Imm: 0304 Symbol: _free305 - Opcode: BIND_OPCODE_DO_BIND306 Imm: 0307 Symbol: ''308 - Opcode: BIND_OPCODE_DONE309 Imm: 0310 Symbol: ''311 - Opcode: BIND_OPCODE_DONE312 Imm: 0313 Symbol: ''314 - Opcode: BIND_OPCODE_DONE315 Imm: 0316 Symbol: ''317 - Opcode: BIND_OPCODE_DONE318 Imm: 0319 Symbol: ''320 - Opcode: BIND_OPCODE_DONE321 Imm: 0322 Symbol: ''323 ExportTrie:324 TerminalSize: 0325 NodeOffset: 0326 Name: ''327 Flags: 0x0328 Address: 0x0329 Other: 0x0330 ImportName: ''331 Children:332 - TerminalSize: 0333 NodeOffset: 21334 Name: _335 Flags: 0x0336 Address: 0x0337 Other: 0x0338 ImportName: ''339 Children:340 - TerminalSize: 4341 NodeOffset: 9342 Name: bar343 Flags: 0x0344 Address: 0x4004345 Other: 0x0346 ImportName: ''347 - TerminalSize: 4348 NodeOffset: 15349 Name: foo350 Flags: 0x4351 Address: 0x4000352 Other: 0x0353 ImportName: ''354 NameList:355 - n_strx: 35356 n_type: 0xE357 n_sect: 7358 n_desc: 0359 n_value: 49160360 - n_strx: 2361 n_type: 0xF362 n_sect: 1363 n_desc: 0364 n_value: 16388365 - n_strx: 7366 n_type: 0xF367 n_sect: 1368 n_desc: 128369 n_value: 16384370 - n_strx: 12371 n_type: 0x1372 n_sect: 0373 n_desc: 256374 n_value: 0375 - n_strx: 18376 n_type: 0x1377 n_sect: 0378 n_desc: 256379 n_value: 0380 StringTable:381 - ' '382 - _bar383 - _foo384 - _free385 - dyld_stub_binder386 - __dyld_private387 - ''388 - ''389 - ''390 - ''391 - ''392 - ''393 IndirectSymbols: [ 0x2, 0x3, 0x2, 0x4, 0x3 ]394 FunctionStarts: [ 0x4000, 0x4004 ]395...396