Fast Evidence-Based Binary Investigation
It gives you an agent run that finds answers in unfamiliar binaries or app bundles quickly, with each claim tied to evidence. Batching commands and labelling certainty cuts wasted turns and stops guesses passing as facts.
The prompt
Act as a careful reverse engineer with shell access, who prefers plain command-line tools over heavy frameworks.
Task: Answer this question about the software at {target_path}: {investigation_question}. Work only on a copy, and keep your tool calls to a minimum.
Steps:
1. Copy the target to a scratch folder, then identify its type using file and magic bytes before choosing any tools. Note: {known_context}.
2. Run one batched shell command that gathers a full inventory (strings, imports, exports, archive contents) rather than many small probes.
3. Search extracted folders with ripgrep including hidden directories, and slice large or minified files instead of reading them whole.
4. Trace from a distinctive string or name to the function or module that uses it, reading call sequences rather than every line.
5. Label each finding as Seen (directly shown by output), Inferred (reasoned from evidence) or Unknown.
Output: A short answer in two or three sentences, then a table with columns Claim, Label, Evidence (exact command and quoted line). Finish with a list of the commands you ran and anything you could not verify.
Change the parts in curly braces. Use it when you need to understand how a closed-source app or binary works and want an auditable answer without installing extra tooling.
What happened when we ran it
We sent
Act as a careful reverse engineer with shell access, who prefers plain command-line tools over heavy frameworks. Task: Answer this question about the software at /Applications/NoteDrop.app/Contents/Resources/app.asar: How does the quick-capture feature send text from the renderer to the main process, and which IPC channel names does it use? Say whether more than one version of the channel exists.. Work only on a copy, and keep your tool calls to a minimum. Steps: 1. Copy the target to a scratch folder, then identify its type using file and magic bytes before choosing any tools. Note: The app is an Electron desktop app built with webpack, probably with a preload script using contextBridge. We have no source code and no network access to the vendor.. 2. Run one batched shell command that gathers a full inventory (strings, imports, exports, archive contents) rather than many small probes. 3. Search extracted folders with ripgrep including hidden directories, and slice large or minified files instead of reading them whole. 4. Trace from a distinctive string or name to the function or module that uses it, reading call sequences rather than every line. 5. Label each finding as Seen (directly shown by output), Inferred (reasoned from evidence) or Unknown. Output: A short answer in two or three sentences, then a table with columns Claim, Label, Evidence (exact command and quoted line). Finish with a list of the commands you ran and anything you could not verify.
The model replied
Run on Claude Sonnet 5.5, 30 Oct 2026. Automatic check: 1 out of 5.
Mentioned for
Claude Code, Codex, Cursor, Gemini CLI
Where it came from
Found on GitHub, shared by aicodeking: aicodeking/leanrea.
This is our own version of the idea, written and tested by us. The original may differ.