522 lines
23 KiB
HTML
522 lines
23 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>REA FAQ: Setup, Updates and Troubleshooting</title>
|
||
<meta
|
||
name="description"
|
||
content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples."
|
||
/>
|
||
<!-- website:sharing:start -->
|
||
<link rel="canonical" href="https://rea.tools/faq/" />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:site_name" content="REA" />
|
||
<meta
|
||
property="og:title"
|
||
content="REA FAQ: Setup, Updates and Troubleshooting"
|
||
/>
|
||
<meta
|
||
property="og:description"
|
||
content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples."
|
||
/>
|
||
<meta property="og:url" content="https://rea.tools/faq/" />
|
||
<meta
|
||
property="og:image"
|
||
content="https://rea.tools/assets/social-card.png"
|
||
/>
|
||
<meta property="og:image:type" content="image/png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
<meta
|
||
property="og:image:alt"
|
||
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
||
/>
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta
|
||
name="twitter:title"
|
||
content="REA FAQ: Setup, Updates and Troubleshooting"
|
||
/>
|
||
<meta
|
||
name="twitter:description"
|
||
content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples."
|
||
/>
|
||
<meta
|
||
name="twitter:image"
|
||
content="https://rea.tools/assets/social-card.png"
|
||
/>
|
||
<meta
|
||
name="twitter:image:alt"
|
||
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
||
/>
|
||
<!-- website:sharing:end -->
|
||
<meta name="theme-color" content="#ffffff" />
|
||
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml" />
|
||
<link rel="stylesheet" href="../assets/styles.css" />
|
||
<script src="../assets/main.js" defer></script>
|
||
</head>
|
||
<body id="top">
|
||
<a class="skip-link" href="#main">Skip to content</a>
|
||
<!-- website:header:start -->
|
||
<header class="site-header">
|
||
<div class="container header-inner">
|
||
<a class="brand" href="../" aria-label="REA home"
|
||
><span class="brand-name">REA</span
|
||
><span class="brand-caption">Reverse Engineer Anything</span></a
|
||
>
|
||
<nav class="navigation" aria-label="Main navigation">
|
||
<a href="../showcase/">Showcases</a>
|
||
<a href="../blog/">Blog</a>
|
||
<a href="../get-started/" class="nav-start">Get started</a>
|
||
<a href="../guides/">Guides</a>
|
||
<a href="../faq/" aria-current="page">FAQ</a>
|
||
</nav>
|
||
<div class="header-social">
|
||
<a
|
||
class="nav-github"
|
||
href="https://github.com/morluto/rea"
|
||
aria-label="REA on GitHub"
|
||
title="REA on GitHub"
|
||
>
|
||
<svg
|
||
width="22"
|
||
height="22"
|
||
viewBox="0 0 16 16"
|
||
aria-hidden="true"
|
||
focusable="false"
|
||
>
|
||
<path
|
||
fill="currentColor"
|
||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"
|
||
/>
|
||
</svg>
|
||
<span class="nav-github-count" hidden aria-hidden="true"></span>
|
||
</a>
|
||
<a
|
||
class="nav-discord"
|
||
href="https://discord.gg/GkcryMnJDM"
|
||
aria-label="Join REA on Discord"
|
||
title="Join REA on Discord"
|
||
>
|
||
<svg
|
||
width="22"
|
||
height="22"
|
||
viewBox="0 0 24 24"
|
||
aria-hidden="true"
|
||
focusable="false"
|
||
>
|
||
<path
|
||
fill="currentColor"
|
||
d="M20.317 4.3698a19.7913 19.7913 0 0 0-4.8851-1.5152.0741.0741 0 0 0-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 0 0-.0785-.037 19.7363 19.7363 0 0 0-4.8852 1.515.0699.0699 0 0 0-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 0 0 .0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 0 0 .0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 0 0-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 0 1-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 0 1 .0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 0 1 .0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 0 1-.0066.1276 12.2986 12.2986 0 0 1-1.873.8914.0766.0766 0 0 0-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 0 0 .0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 0 0 .0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 0 0-.0312-.0286ZM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189Zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"
|
||
/>
|
||
</svg>
|
||
</a>
|
||
<a
|
||
class="nav-x"
|
||
href="https://x.com/reatools"
|
||
aria-label="Follow REA on X"
|
||
title="Follow REA on X"
|
||
>
|
||
<svg
|
||
width="18"
|
||
height="18"
|
||
viewBox="0 0 24 24"
|
||
aria-hidden="true"
|
||
focusable="false"
|
||
>
|
||
<path
|
||
fill="currentColor"
|
||
d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"
|
||
/>
|
||
</svg>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
<!-- website:header:end -->
|
||
<main id="main" class="container">
|
||
<div class="page-heading">
|
||
<p class="breadcrumb"><a href="../">Home</a> / FAQ</p>
|
||
<h1>REA FAQ.</h1>
|
||
<p class="lede">Setup, updates, analysis and troubleshooting.</p>
|
||
</div>
|
||
<div class="article-layout">
|
||
<nav class="contents" aria-label="On this page">
|
||
<p>Topics</p>
|
||
<ul>
|
||
<li><a href="#setup">Setup and updates</a></li>
|
||
<li><a href="#analysis">Analysis</a></li>
|
||
<li><a href="#troubleshooting">Troubleshooting</a></li>
|
||
<li><a href="#sharing">Data and sharing</a></li>
|
||
</ul>
|
||
</nav>
|
||
<article
|
||
class="article"
|
||
data-faq
|
||
aria-label="Frequently asked questions about REA"
|
||
>
|
||
<section class="article-section" id="setup">
|
||
<h2>Setup and updates</h2>
|
||
<div class="faq-list">
|
||
<details class="faq-item" id="install">
|
||
<summary>How do I install REA?</summary>
|
||
<p>
|
||
With Node.js and npm available, run setup, choose your coding
|
||
agent and review the proposed changes.
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · agent setup</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-setup"
|
||
aria-label="Copy REA setup command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-setup">npx rea-agents@latest setup</code></pre>
|
||
</div>
|
||
<p>
|
||
Setup registers REA's MCP connection and installs the matching
|
||
investigation skill. Restart your agent when it finishes, then
|
||
give it a target path and a question.
|
||
<a href="../get-started/">Follow the setup guide</a> for
|
||
prerequisites and your first analysis.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="agents">
|
||
<summary>Which coding agents can use REA?</summary>
|
||
<p>
|
||
Any agent that supports local MCP servers. Setup includes
|
||
Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI,
|
||
Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI,
|
||
Command Code, Grok Build, OMP, and VS Code. Grok Bot's
|
||
connector is added from its chat.
|
||
</p>
|
||
<p>
|
||
<a href="../get-started/#agent">Connect your coding agent</a>.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="update">
|
||
<summary>How do I update REA?</summary>
|
||
<p>
|
||
REA releases frequently, including bug fixes. If you installed
|
||
the CLI with npm:
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · installed CLI</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-update-cli"
|
||
aria-label="Copy REA update command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-update-cli">rea update</code></pre>
|
||
</div>
|
||
<p>
|
||
Follow the setup refresh command printed by the update. If you
|
||
set up your agent through <code>npx</code>, run:
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · refresh agent setup</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-update-agent"
|
||
aria-label="Copy agent setup refresh command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-update-agent">npx rea-agents@latest setup</code></pre>
|
||
</div>
|
||
<p>
|
||
Review the changes and restart your agent. Its REA connection
|
||
pins a package version, so refreshing setup makes it use the
|
||
new release. For one-off CLI commands, use
|
||
<code>npx -y rea-agents@latest</code> followed by the command.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="skill">
|
||
<summary>
|
||
Is installing the skill from skills.sh enough?
|
||
</summary>
|
||
<p>
|
||
The skill gives your agent investigation instructions. Run
|
||
<a href="#install">REA setup</a> to connect the MCP server and
|
||
install the matching skill, then restart your agent so it can
|
||
call the tools.
|
||
</p>
|
||
</details>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="article-section" id="analysis">
|
||
<h2>Analysis</h2>
|
||
<div class="faq-list">
|
||
<details class="faq-item" id="targets">
|
||
<summary>What can I analyze with REA?</summary>
|
||
<p>Start with the kind of software you have:</p>
|
||
<ul>
|
||
<li>
|
||
<a href="../guides/native/"
|
||
>Native executables and libraries</a
|
||
>: functions, assembly, pseudocode and references.
|
||
</li>
|
||
<li>
|
||
<a href="../guides/javascript/"
|
||
>JavaScript and Electron apps</a
|
||
>: modules, imports, IPC and source locations.
|
||
</li>
|
||
<li>
|
||
<a href="../guides/browser/">Browser pages</a>: scripts,
|
||
requests and runtime observations.
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
REA also has workflows for managed assemblies, Android APKs,
|
||
firmware and packaged resources.
|
||
<a href="../showcase/">See the case studies</a> for worked
|
||
investigations.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="providers">
|
||
<summary>Do I need Hopper, Ghidra or IDA?</summary>
|
||
<p>
|
||
Deep native analysis uses one of them. Static JavaScript and
|
||
.NET inspection work with the supplied files and do not need a
|
||
native analysis engine.
|
||
</p>
|
||
<p>
|
||
Connect your existing Ghidra or IDA installation, or let setup
|
||
detect Hopper and propose an installation. Your host and
|
||
target determine which provider can be used.
|
||
<a href="../get-started/#native">Set up native analysis</a>.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="cli">
|
||
<summary>Can I use REA without a coding agent?</summary>
|
||
<p>
|
||
Yes. The CLI uses the same analysis workflows. For a local
|
||
JavaScript or Electron app:
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · static application analysis</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-cli-analysis"
|
||
aria-label="Copy REA CLI analysis command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-cli-analysis">npx -y rea-agents@latest analyze-javascript-application \
|
||
/absolute/path/to/app --json</code></pre>
|
||
</div>
|
||
<p>
|
||
Replace the path with an extracted application folder or ASAR
|
||
file. <a href="../get-started/#terminal">Use the CLI</a> for
|
||
installation options.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="code">
|
||
<summary>What code does REA return?</summary>
|
||
<p>
|
||
Native analysis returns assembly and pseudocode, with calls,
|
||
references and relevant constants. JavaScript analysis returns
|
||
modules, their relationships and source locations.
|
||
</p>
|
||
<p>
|
||
Your agent uses these findings to explain the behavior or
|
||
write and test an implementation. The
|
||
<a href="../showcase/dx-ball/#sound-pan"
|
||
>DX-Ball calculation</a
|
||
>
|
||
and <a href="../showcase/ctf/">CTF flag checker</a> show how
|
||
that process works.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="prompt">
|
||
<summary>What should I ask my agent?</summary>
|
||
<p>
|
||
Give it a local target and one behavior to investigate. For a
|
||
JavaScript or Electron app:
|
||
</p>
|
||
<div class="agent-terminal">
|
||
<div class="terminal-header">
|
||
<span class="terminal-title"
|
||
><span class="terminal-dots" aria-hidden="true"
|
||
><i></i><i></i><i></i></span
|
||
>Your coding agent</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-analysis-prompt"
|
||
aria-label="Copy example analysis prompt"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<p class="terminal-prompt">
|
||
<span class="prompt-symbol" aria-hidden="true">›</span
|
||
><span id="faq-analysis-prompt"
|
||
>Use REA to analyze /absolute/path/to/app and explain how
|
||
it exports data. Show the relevant code and source
|
||
locations.</span
|
||
><span class="terminal-cursor" aria-hidden="true"></span>
|
||
</p>
|
||
</div>
|
||
<p class="caption">
|
||
Replace the path with your target. The
|
||
<a href="../guides/">guides</a> provide prompts for native,
|
||
Electron and browser examples.
|
||
</p>
|
||
</details>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="article-section" id="troubleshooting">
|
||
<h2>Troubleshooting</h2>
|
||
<div class="faq-list">
|
||
<details class="faq-item" id="connection">
|
||
<summary>Why can't my agent see the REA tools?</summary>
|
||
<p>
|
||
Restart or reconnect your agent after setup. Check its REA
|
||
registration with <code>doctor</code>; for Codex:
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · check one client</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-doctor"
|
||
aria-label="Copy client diagnosis command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-doctor">npx -y rea-agents@latest doctor --client codex --json</code></pre>
|
||
</div>
|
||
<p>
|
||
Replace <code>codex</code> with your client ID, such as
|
||
<code>claude_code</code> or <code>cursor</code>. If the report
|
||
shows a missing or stale registration, run setup for that
|
||
client:
|
||
</p>
|
||
<div class="code-block">
|
||
<div class="code-header">
|
||
<span>Terminal · repair one client's setup</span
|
||
><button
|
||
class="copy-button"
|
||
type="button"
|
||
data-copy="faq-repair"
|
||
aria-label="Copy scoped setup command"
|
||
>
|
||
Copy
|
||
</button>
|
||
</div>
|
||
<pre><code id="faq-repair">npx rea-agents@latest setup --client codex</code></pre>
|
||
</div>
|
||
<p>
|
||
Review its plan and restart the client. If registration is
|
||
healthy but tools remain absent, check the client's MCP
|
||
connection error.
|
||
<a href="../get-started/#help">More setup diagnostics</a>.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="hopper">
|
||
<summary>Do I need to start Hopper first?</summary>
|
||
<p>
|
||
REA starts Hopper when an operation needs it. On macOS,
|
||
complete the first-run choice of demo mode or license
|
||
activation before unattended analysis.
|
||
<a href="../get-started/#native">See native provider setup</a
|
||
>.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="bugs">
|
||
<summary>What should I do if I hit a bug?</summary>
|
||
<p>
|
||
<a href="#update">Update REA</a>, restart your agent and retry
|
||
the same task. A recent release may already fix the problem.
|
||
</p>
|
||
<p>
|
||
If it persists,
|
||
<a href="https://github.com/morluto/rea/issues/new/choose"
|
||
>open an issue</a
|
||
>
|
||
with your REA version, operating system, target type, steps to
|
||
reproduce and error output. Include the provider name when the
|
||
problem involves native analysis.
|
||
</p>
|
||
</details>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="article-section" id="sharing">
|
||
<h2>Data and sharing</h2>
|
||
<div class="faq-list">
|
||
<details class="faq-item" id="privacy">
|
||
<summary>Does REA upload my app?</summary>
|
||
<p>
|
||
REA analyzes targets on your machine. Your agent receives the
|
||
results, and its model provider's data policy applies to those
|
||
results.
|
||
</p>
|
||
</details>
|
||
<details class="faq-item" id="contribute">
|
||
<summary>How can I share an example or contribute?</summary>
|
||
<p>
|
||
Have a useful REA example? We'd love to see it. Share the
|
||
target, your question, the findings and how you checked them
|
||
in an
|
||
<a href="https://github.com/morluto/rea/issues/new/choose"
|
||
>issue</a
|
||
>
|
||
or
|
||
<a href="https://github.com/morluto/rea/pulls">pull request</a
|
||
>. Short code excerpts and figures help others follow the
|
||
investigation.
|
||
</p>
|
||
<p>
|
||
Bug reports, feature requests, documentation and code
|
||
improvements are welcome too. You can also discuss an example
|
||
in the <a href="https://discord.gg/GkcryMnJDM">community</a>.
|
||
</p>
|
||
</details>
|
||
</div>
|
||
</section>
|
||
</article>
|
||
</div>
|
||
</main>
|
||
<!-- website:footer:start -->
|
||
<footer class="site-footer">
|
||
<div class="container footer-inner">
|
||
<p>REA · Reverse Engineer Anything</p>
|
||
<div class="footer-links">
|
||
<a href="https://github.com/morluto/rea">Source</a
|
||
><a href="https://github.com/morluto/rea/blob/main/LICENSE"
|
||
>MIT license</a
|
||
><a href="https://discord.gg/GkcryMnJDM">Join the community</a
|
||
><a href="https://x.com/reatools">Follow us on X</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
<p class="sr-only" id="copy-status" role="status" aria-live="polite"></p>
|
||
<a class="back-to-top" href="#top" aria-label="Back to top">
|
||
<span aria-hidden="true">↑</span> Top
|
||
</a>
|
||
<!-- website:footer:end -->
|
||
</body>
|
||
</html>
|