summaryrefslogtreecommitdiff
path: root/view/kernelcache/core/KernelCache.cpp
AgeCommit message (Collapse)Author
2025-12-20Fix many of the warnings that show up when compiling with GCC 15.2Mark Rowe
2025-10-23[KernelCache] Set segment permissions based on how XNU initially maps themMark Rowe
XNU maps kernel cache segments in with different permissions than the load commands indicate. For instance, `__DATA_CONST` is initially mapped as read-write before later being re-mapped as read-only. Treating it as read-only results in analysis falsely assuming that global variables cannot change. To work around this we maintain a mapping from segment name to initial permissions (i.e., most lax permissions) and favor them over permissions derived from the segment load command. Section semantics are also derived from the segment's permissions when the segment is present in the mapping. The mapping is based on the initial permissions established by `arm_vm_prot_init` within the XNU source.
2025-07-28Improve and migrate to fmt logging functions in Mach-O/KernelCache/SharedCachekat
2025-07-16Mach-O/KernelCache warning cleanupkat
2025-07-07KernelCache rewritekat
2025-06-04Fix calls to BNFreeString in kernel cache APIAlexander Khosrowshahi
Amends calls to BNFreeString in kernel cache API that were causing `get_macho_header_for_address`, `get_macho_header_for_image`, `get_image_name_for_address`, and `get_name_for_address` to fail. Fixes https://github.com/Vector35/binaryninja-api/issues/6855
2025-04-16Add loaded column for kernel cache view.Alexander Taylor
Required adding an API to determine if an image is loaded.
2025-04-14Prevent nullptr deref if we don't find image.Alexander Taylor
2025-04-03Warning cleanup in KernelCache codekat
2025-03-19Add iOS/macOS MH_FILESET KernelCache View and loader.kat
This loader is inspired by/based on our dyld_shared_cache loader, following the same design language. It targets primarily the latest kernels, but should support any with the MH_FILESET format. It allows you to decide which images you would like to map in (the kernel itself included), resulting in targeted analysis when you may only need to load a singular image. It also supports dropping in compressed KernelCaches, directly from the ipsw. This is an early solution and we have many more changes and improvements planned. We look forward to your feedback