[GH-ISSUE #17] Add an evidence-driven native API reconstruction workflow #18

Closed
opened 2026-10-15 18:19:58 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @morluto on GitHub (Jul 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/17

Goal

Compose Hopper with native metadata and runtime evidence so agents can reconstruct a small native API without treating pseudocode as compilable source.

Workflow

  1. Inventory segments, procedures, labels, imports, exports, selectors, and strings.
  2. Identify registration and entry routines.
  3. Select decompilation targets using symbols, strings, references, and call-graph reachability.
  4. Recover boundary types from imports, selectors, conventions, metadata, and flow.
  5. Mark register variables, compiler blocks, pointer arithmetic, and signatures as decompiler artifacts.
  6. Cross-check jump tables against section data, strings, enum documentation, and assembly.
  7. Correlate static conclusions with optional runtime traces and ABI probes.
  8. Export evidence and residual unknowns.

Acceptance criteria

  • Anonymous reachable helpers are included.
  • Inferred types carry evidence and confidence.
  • Jump-table mappings cite data addresses and targets.
  • Pseudocode is labeled non-source/non-compilable.
  • Resource retention and delegate cleanup can be explained.
Originally created by @morluto on GitHub (Jul 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/17 ## Goal Compose Hopper with native metadata and runtime evidence so agents can reconstruct a small native API without treating pseudocode as compilable source. ## Workflow 1. Inventory segments, procedures, labels, imports, exports, selectors, and strings. 2. Identify registration and entry routines. 3. Select decompilation targets using symbols, strings, references, and call-graph reachability. 4. Recover boundary types from imports, selectors, conventions, metadata, and flow. 5. Mark register variables, compiler blocks, pointer arithmetic, and signatures as decompiler artifacts. 6. Cross-check jump tables against section data, strings, enum documentation, and assembly. 7. Correlate static conclusions with optional runtime traces and ABI probes. 8. Export evidence and residual unknowns. ## Acceptance criteria - Anonymous reachable helpers are included. - Inferred types carry evidence and confidence. - Jump-table mappings cite data addresses and targets. - Pseudocode is labeled non-source/non-compilable. - Resource retention and delegate cleanup can be explained.
Author
Owner

@morluto commented on GitHub (Jul 17, 2026):

Current main already supplies analyze_function, trace_feature, function comparison, call paths, evidence, and residual-unknown tooling. The remaining scope is first-class native API reconstruction orchestration: inferred boundary types with confidence, ABI/jump-table fixture proof, and resource/delegate lifecycle explanation. Keeping this open only for that focused outcome avoids duplicating the delivered generic investigation workflow.

<!-- gh-comment-id:5001696107 --> @morluto commented on GitHub (Jul 17, 2026): Current main already supplies analyze_function, trace_feature, function comparison, call paths, evidence, and residual-unknown tooling. The remaining scope is first-class native API reconstruction orchestration: inferred boundary types with confidence, ABI/jump-table fixture proof, and resource/delegate lifecycle explanation. Keeping this open only for that focused outcome avoids duplicating the delivered generic investigation workflow.
Author
Owner

@morluto commented on GitHub (Jul 20, 2026):

Split into focused child issues:

These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.

<!-- gh-comment-id:5023442408 --> @morluto commented on GitHub (Jul 20, 2026): Split into focused child issues: - [ ] #345 - [ ] #346 These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#18
No description provided.