2 Commits

Author SHA1 Message Date
blacktop 9c861ee7cd fix: refactor disassembly API for type safety and performance
Update all disassembly code to use new cgo-based decoder API with
stack-allocated instruction structs instead of heap-allocated
pointers. Add instruction filtering to skip decoding operations that
register tracking doesn't care about, avoiding expensive CGo calls.

Key changes:
- Replace Decompose with DecomposeInto using stack allocation
- Add mayBeTrackedInstruction filter for common tracked ops
- Introduce helper functions for safe operand/register access
- Fix metaclass pointer index to use caller index for efficiency
- Remove root file special-casing in pointer index builder
- Add comprehensive unit tests for tracking options and helpers
2026-03-10 10:22:24 -06:00
blacktop 08ae49f8e2 feat: add initial implementation of kernelcache class scanner and vtable resolver
- Introduced `types.go` to define core structures and configurations for the scanner.
- Implemented the `Scanner` type for discovering classes in kernelcache Mach-O files.
- Added methods for scanning, resolving vtables, and handling class metadata.
- Created `vtable.go` to manage vtable-related functionalities, including detection and resolution of vtables.
- Implemented various utility functions for class name recovery and symbol handling.
- Established mechanisms for deduplication of discovered classes and handling of potential virtual function stubs.
2026-03-09 20:11:00 -06:00