arandomdev / DyldExtractor

Extract Binaries from Apple's Dyld Shared Cache

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

x86 extraction fails with struct.error: required argument is not an integer

torarnv opened this issue · comments

Full log: https://gist.github.com/torarnv/8b9515847459ea7247bb35b0198b761a

Ends with:

ObjC Fixer >> Processing Selector References :: [\]                                                                                                                                                                                                 Traceback (most recent call last):
  File "/opt/homebrew/bin/dyldex", line 277, in <module>
    main()
  File "/opt/homebrew/bin/dyldex", line 272, in main
    _extractImage(args.dyld_path, dyldCtx, imageMap[targetPaths[0]], outputPath)
  File "/opt/homebrew/bin/dyldex", line 138, in _extractImage
    objc_fixer.fixObjC(extractionCtx)
  File "/opt/homebrew/lib/python3.11/site-packages/DyldExtractor/converter/objc_fixer.py", line 1519, in fixObjC
    _ObjCFixer(extractionCtx).run()
  File "/opt/homebrew/lib/python3.11/site-packages/DyldExtractor/converter/objc_fixer.py", line 447, in run
    self._processSections()
  File "/opt/homebrew/lib/python3.11/site-packages/DyldExtractor/converter/objc_fixer.py", line 678, in _processSections
    struct.pack("<Q", newPtr)
struct.error: required argument is not an integer

macOS 13.6 /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_x86_64 on M2 MPB

Sorry, x86_64 extraction is not supported.

Ah, I see. Perhaps this should be mentioned in the README, or detected at runtime and error out early with a clear message rather than the failures?