Commit Graph
12 Commits
Author SHA1 Message Date
blacktop 196d77de6f feat: add kernel C++ parsing to symbolicate cmds and APIs
Add API endpoints and CLI support for discovering C++ classes and symbolication of kernelcaches, refactor Mach-O handling, and improve symbol collection.

- API: add /kernel/cpp and /kernel/symbolicate routes, request param structs, response types, and openKernel helper. Use cpp scanner and signature parsing to return classes and symbol maps.
- CLI: wire scanner LogStats flag, refactor kernel symbolicate command (schema writer helper, improved signature parsing, and symbol matching logic). Add tests for symbolicator schema and kernel symbol matching.
- Signature pkg: add kernel C++ symbol extraction (pkg/signature/kernel_cpp.go) and SymbolicateMachO to symbolicate already-open Mach-Os; integrate C++ symbols into symbol map and update signature matching/logging behavior.
- Internal: refactor in-memory DB lookups (findMachOByUUID, findSymbolByAddr) to reduce duplication. Improve symbols collection for kernel Mach-Os (collectKernelMachoSymbols, extra kernel symbols from signature/C++), add helpers to append symbols.
- Kernelcache CPP: add LogStats option and conditional logging of scan stats.
- Crashlog/ips: update wording to reflect kernel symbols are from kernel analysis and store KernelSymbols earlier in processing; parse signatures only when configured.

Also add unit tests for new symbolication helpers and kernel C++ signature handling. Overall this consolidates kernel symbol discovery, improves reuse, and surfaces C++-derived symbols in symbol maps.
2026-03-10 12:20:12 -06:00
blacktop 74a8933b9a chore: return 409 when scanning the same IPSW via ipswd /syms/scan route 2024-09-19 18:48:28 -06:00
blacktop 5cce056e0c chore: add ability for the ipsw symbolicate symbol server to tell you it doesn't have the required IPSW scanned yet 2024-07-05 17:37:15 -06:00
blacktop 8229d8e5d9 fix: many fixes to symbolication and the symbol server 2024-07-04 00:26:55 -06:00
blacktop 9f56962735 feat: add ability to query symbols via ipswd API routes /api/syms/:uuid and /api/syms/:uuid/:addr 2024-07-03 17:02:08 -06:00
blacktop c11351c02a Update memory.go 2024-07-02 20:59:05 -06:00
blacktop b6f8b488e9 chore: rm DB() from Database interface 2024-07-02 20:52:47 -06:00
blacktop dfe5565a3b fix: symbol server database code 2024-07-02 20:44:21 -06:00
blacktop 69173b32f5 feat: add NEW /syms/scan route to ipswd API to gen symbol server from IPSW 2024-07-02 10:12:14 -06:00
blacktop 9ce1d11a5f chore: add initial database support to ipswd 2024-07-02 10:12:10 -06:00
blacktop 7859b175d2 Update memory.go 2024-06-26 10:55:48 -06:00
blacktopandGitHub f85daa1ac3 feat: ipsw daemon (API) (#219) 2023-04-12 20:00:05 -06:00