-
Notifications
You must be signed in to change notification settings - Fork 265
Closed
Labels
Effort: TrivialIssues require < 1 day of workIssues require < 1 day of workFile Format: KernelCacheImpact: MediumIssue is impactful with a bad, or no, workaroundIssue is impactful with a bad, or no, workaround
Milestone
Description
Version and Platform (required):
- Binary Ninja Version: 5.2.8223-dev Ultimate, 3afa844d
- OS: macos
- OS Version: 26.0
- CPU Architecture: arm64
Bug Description:
After loading an image from a kernel cache, it should be possible to see its strings in the Strings pane.
Steps To Reproduce:
- Load a kernel cache. I used 22G5064d__iPhone15,2/kernelcache.release.iPhone15,2
- Load an image via the triage view. I picked
com.apple.security.sandbox. - Edit -> Go To Address… and enter
com.apple.security.sandbox::__TEXT.__cstring - Search for one of the strings you see in the Strings pane.
Expected Behavior:
Strings!
Actual Behavior:
No strings :-(
This is a consequence of zero being passed as the flag argument to AddAutoSegment. That marks the segment as not readable, which causes the string analysis to skip its contents.
KernelCacheController::ApplyImage should be using SegmentFlagsFromMachOProtections(segment.initprot, segment.maxprot) instead of segment.flags when adding the segment.
Metadata
Metadata
Assignees
Labels
Effort: TrivialIssues require < 1 day of workIssues require < 1 day of workFile Format: KernelCacheImpact: MediumIssue is impactful with a bad, or no, workaroundIssue is impactful with a bad, or no, workaround