mirror of
https://github.com/morluto/rea.git
synced 2026-11-10 00:36:35 +00:00
* fix(kuna): omit Mach-O data symbols from the procedure inventory Kuna's `functions --json` registers every Mach-O export as a function entry, so globals in `__DATA,__data`, constants in `__TEXT,__const` and `__mh_execute_header` were listed, counted and decompiled as procedures. The Kuna session now classifies each inventory entry with the target's own section table, read by the shared `inspect_macho` load-command reader from the header bytes kept while its private copy is hashed. Entries in sections that declare no instructions, or in the header and load commands, are data: listings and searches omit them and report per-region counts, and procedure operations refuse them by name or address while `address_name` and `xrefs` still accept them. Instruction sections, symbol stubs and symbol-pointer import slots are kept; addresses outside every section stay with an explicit limitation, an unreadable section table keeps the whole inventory unclassified, and ELF inventories are unchanged. Composed workflows such as `decompile_all` and `binary_overview` follow the listing. Fixes #8168 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(kuna): keep an entry's classification caveat on direct answers Resolution now returns the selected entry's Mach-O placement and the caveat it leaves open, built by the same constructor as the listings: the one-entry unplaced wording, or the unreadable section table's reason. Pseudocode, assembly, analyze_function (including the dossier's own limitations), procedure_address, call queries by name and address_name carry it; code and import-slot entries carry none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>