Skip to content

iOS 18.3 extracting errors #69

@784c

Description

@784c

Trying to extract any dylib from iOS 18.3, on debian

dyldex_all dyld_shared_cache_arm64e     
Processed: CoreDuet
----- CoreDuet -----
17:15:51:557 [  ERROR  ] dyldex_all:184 : cannot mmap an empty file
Traceback (most recent call last):
  File "/home/c487/.local/bin/dyldex_all", line 132, in _extractImage
    subCacheFiles = dyldCtx.addSubCaches(dyldPath)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 147, in addSubCaches
    subCacheCtx = DyldContext(subCacheFile)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 31, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/cache_context.py", line 21, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/file_context.py", line 19, in __init__
    self.file = mmap.mmap(
                ~~~~~~~~~^
        fileObject.fileno(),
     ^^^^^^^^^^^^^^^^^^^^
        0,
     ^^
        access=mmap.ACCESS_COPY if copyMode else mmap.ACCESS_READ
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
ValueError: cannot mmap an empty file
--------------------

Processed: CoreDuetContext                                                                                                                                                                                                                 
----- CoreDuetContext -----
17:15:51:601 [  ERROR  ] dyldex_all:184 : cannot mmap an empty file
Traceback (most recent call last):
  File "/home/c487/.local/bin/dyldex_all", line 132, in _extractImage
    subCacheFiles = dyldCtx.addSubCaches(dyldPath)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 147, in addSubCaches
    subCacheCtx = DyldContext(subCacheFile)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 31, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/cache_context.py", line 21, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/file_context.py", line 19, in __init__
    self.file = mmap.mmap(
                ~~~~~~~~~^
        fileObject.fileno(),
     ^^^^^^^^^^^^^^^^^^^^
        0,
     ^^
        access=mmap.ACCESS_COPY if copyMode else mmap.ACCESS_READ
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
ValueError: cannot mmap an empty file
--------------------

Processed: CoreEmoji
----- CoreEmoji -----
17:15:51:562 [  ERROR  ] dyldex_all:184 : cannot mmap an empty file
Traceback (most recent call last):
  File "/home/c487/.local/bin/dyldex_all", line 132, in _extractImage
    subCacheFiles = dyldCtx.addSubCaches(dyldPath)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 147, in addSubCaches
    subCacheCtx = DyldContext(subCacheFile)
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/dyld/dyld_context.py", line 31, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/cache_context.py", line 21, in __init__
    super().__init__(fileObject, copyMode=copyMode)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/c487/.local/lib/python3.13/site-packages/DyldExtractor/file_context.py", line 19, in __init__
    self.file = mmap.mmap(
                ~~~~~~~~~^
        fileObject.fileno(),
     ^^^^^^^^^^^^^^^^^^^^
        0,
     ^^
        access=mmap.ACCESS_COPY if copyMode else mmap.ACCESS_READ
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
ValueError: cannot mmap an empty file

To Reproduce

iOS version 18.3
DYLD target device and identifier: iPhone 11 12,1
Terminal command to reproduce.
dyldex_all dyld_shared_cache_arm64e

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions