DerekSelander / dsdump

An improved nm + Objective-C & Swift class-dump

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash when parsing CoreDevice.framework

rolfbjarne opened this issue · comments

Repro:

  1. Install Xcode 15
  2. Download and extract https://github.com/DerekSelander/dsdump/blob/master/compiled/dsdump_compiled.zip
  3. Execute:
$ ~/Downloads/dsdump -a arm64 --objc /Library/Developer/PrivateFrameworks/CoreDevice.framework/CoreDevice
[1]    3344 segmentation fault  ~/Downloads/dsdump -a arm64 --swift

Crash report: https://gist.github.com/rolfbjarne/7e226427136d762e927208abc08b957d

I tried the beta version too:

$ ~/Downloads/dsdump_0.8.3/dsdump -a arm64 --objc /Library/Developer/PrivateFrameworks/CoreDevice.framework/CoreDevice
2023-10-10 11:56:40.932 dsdump[3458:861129] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001810ab104 __exceptionPreprocess + 176
	1   libobjc.A.dylib                     0x0000000180bc9fd0 objc_exception_throw + 60
	2   CoreFoundation                      0x00000001811959b4 -[__NSCFString characterAtIndex:].cold.1 + 0
	3   CoreFoundation                      0x000000018101eb48 -[__NSArrayM objectAtIndexedSubscript:] + 188
	4   dsdump                              0x0000000104e3c3b8 __53-[XRMachOLibrary(Opcode) printChainDetails:callback:]_block_invoke_2 + 748
	5   dsdump                              0x0000000104e46848 _ZNK5dyld311MachOLoaded9walkChainER11DiagnosticsPNS0_25ChainedFixupPointerOnDiskEtbjU13block_pointerFvS4_RbE + 308
	6   dsdump                              0x0000000104e469c8 _ZNK5dyld311MachOLoaded27forEachFixupInSegmentChainsER11DiagnosticsPK30dyld_chained_starts_in_segmentbU13block_pointerFvPNS0_25ChainedFixupPointerOnDiskES5_RbE + 180
	7   dsdump                              0x0000000104e465f8 _ZNK5dyld311MachOLoaded23forEachFixupInAllChainsER11DiagnosticsPK28dyld_chained_starts_in_imagebU13block_pointerFvPNS0_25ChainedFixupPointerOnDiskEPK30dyld_chained_starts_in_segmentRbE + 92
	8   dsdump                              0x0000000104e3c09c __53-[XRMachOLibrary(Opcode) printChainDetails:callback:]_block_invoke + 124
	9   dsdump                              0x0000000104e54860 _ZNK5dyld313MachOAnalyzer15withChainStartsER11DiagnosticsyU13block_pointerFvPK28dyld_chained_starts_in_imageE + 140
	10  dsdump                              0x0000000104e3bf3c -[XRMachOLibrary(Opcode) printChainDetails:callback:] + 284
	11  dsdump                              0x0000000104e327b4 -[XRMachOLibrary handleLoadCommand:] + 368
	12  dsdump                              0x0000000104e482c0 _ZNK5dyld39MachOFile18forEachLoadCommandER11DiagnosticsU13block_pointerFvPK12load_commandRbE + 160
	13  dsdump                              0x0000000104e32038 -[XRMachOLibrary initWithPath:] + 1456
	14  dsdump                              0x0000000104e31a40 -[XRMachOLibrary initWithCPath:] + 144
	15  dsdump                              0x0000000104e3f4ac main + 1912
	16  dyld                                0x0000000180bfbf28 start + 2236
)
libc++abi: terminating due to uncaught exception of type NSException
[1]    3458 abort      ~/Downloads/dsdump_0.8.3/dsdump -a arm64 --objc