Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow loading a single image from an iOS/macOS kernelcache #6401

Open
jonpalmisc opened this issue Feb 8, 2025 · 1 comment
Open

Allow loading a single image from an iOS/macOS kernelcache #6401

jonpalmisc opened this issue Feb 8, 2025 · 1 comment
Assignees
Labels
Effort: Low Issue should take < 1 week File Format: SharedCache Issue with the dyld_shared_cache plugin Impact: Medium Issue is impactful with a bad, or no, workaround
Milestone

Comments

@jonpalmisc
Copy link
Contributor

What is the feature you'd like to have?

IDA Pro allows you to load either just the kernel or just a single kernel extension from an iOS/macOS kernelcache. This is handy when you don't need the rest of the kernel for what you're looking at.

Image

Is your feature request related to a problem?

I am unable to use Binary Ninja for some scripting tasks related to iOS/macOS kernels because the analysis time is prohibitive for it being useful. If I could limit the analysis to just a specific kernel extension, it may become fast enough that I could realistically use it.

Are any alternative solutions acceptable?

Grafting individual images out of the kernelcache with ipsw or similar tools yields malformed binaries that create other analysis problems.

@jonpalmisc
Copy link
Contributor Author

For more context, it just took me 60 minutes to analyze an entire iOS kernelcache with Binary Ninja headlessly; the same kernelcache takes only 5 minutes to analyze with IDA batch mode.

I understand that because IDA is not decompiling the binary this is not a direct/fair comparison of work done, but ultimately what I'm measuring is "time until I can start querying things with the API", irrespective of what the actual analysis encompasses. Unfortunately, Binary Ninja's more minimal analysis modes do not produce the necessary cross references, or correct-enough analysis to be useful for scripting.

@xusheng6 xusheng6 added File Format: SharedCache Issue with the dyld_shared_cache plugin Effort: Low Issue should take < 1 week Impact: Medium Issue is impactful with a bad, or no, workaround labels Feb 11, 2025
@plafosse plafosse added this to the Gallifrey milestone Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Effort: Low Issue should take < 1 week File Format: SharedCache Issue with the dyld_shared_cache plugin Impact: Medium Issue is impactful with a bad, or no, workaround
Projects
None yet
Development

No branches or pull requests

4 participants