mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 14:26:07 +00:00
162 lines
6.9 KiB
HTML
162 lines
6.9 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Case studies — REA</title>
|
|
<meta
|
|
name="description"
|
|
content="Follow REA investigations through code and figures: DX-Ball, Notion, TH04 and a DownUnderCTF flag checker."
|
|
/>
|
|
<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>
|
|
<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="./" aria-current="page">Showcases</a>
|
|
<a class="nav-start" href="../get-started/">Get started</a>
|
|
<a href="../guides/">Guides</a>
|
|
<a href="../faq/">FAQ</a>
|
|
</nav>
|
|
<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>
|
|
</div>
|
|
</header>
|
|
<main id="main" class="container">
|
|
<div class="page-heading">
|
|
<p class="breadcrumb"><a href="../">Home</a> / Showcases</p>
|
|
<h1>REA case studies.</h1>
|
|
<p class="lede">
|
|
Game reconstruction, Electron analysis and a CTF challenge, with code,
|
|
figures and checked results.
|
|
</p>
|
|
</div>
|
|
<div class="guide-index">
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">CTF · Native analysis</p>
|
|
<div>
|
|
<h2>Solve a CTF flag checker</h2>
|
|
<p>
|
|
Inspect an easy DownUnderCTF challenge with REA. Find its checking
|
|
functions, turn masks and sums into equations, then verify the
|
|
solved flag with the original program.
|
|
</p>
|
|
<div class="guide-route">
|
|
<span>Binary</span> <b aria-hidden="true">→</b>
|
|
<span>Checking code</span> <b aria-hidden="true">→</b>
|
|
<span>Equations</span> <b aria-hidden="true">→</b>
|
|
<span>Correct!</span>
|
|
</div>
|
|
<a class="text-link" href="ctf/">Read the CTF case study</a>
|
|
</div>
|
|
</section>
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">Native · Reconstruction</p>
|
|
<div>
|
|
<h2>DX-Ball's sound-pan calculation</h2>
|
|
<p>
|
|
Recover a sound-pan calculation from a 1996 Windows game. REA's
|
|
instructions, caller references and numeric constants lead to a
|
|
small C function, checked against the original behavior and all 63
|
|
compiled bytes.
|
|
</p>
|
|
<div class="guide-route">
|
|
<span>Executable</span> <b aria-hidden="true">→</b>
|
|
<span>REA findings</span> <b aria-hidden="true">→</b>
|
|
<span>Recovered C</span> <b aria-hidden="true">→</b>
|
|
<span>Validation</span>
|
|
</div>
|
|
<a class="text-link" href="dx-ball/">Read the DX-Ball case study</a>
|
|
</div>
|
|
</section>
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">Electron · Feature tracing</p>
|
|
<div>
|
|
<h2>How Notion copies text and HTML</h2>
|
|
<p>
|
|
Trace a page-facing API through Notion's packaged JavaScript.
|
|
Follow its IPC wrappers to the system clipboard, then see how a
|
|
small HTML marker keeps rich block data connected to a copy.
|
|
</p>
|
|
<div class="guide-route">
|
|
<span>Packaged app</span> <b aria-hidden="true">→</b>
|
|
<span>Exposed API</span> <b aria-hidden="true">→</b>
|
|
<span>IPC wrappers</span> <b aria-hidden="true">→</b>
|
|
<span>Clipboard</span>
|
|
</div>
|
|
<a class="text-link" href="notion/">Read the Notion case study</a>
|
|
</div>
|
|
</section>
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">PC-98 DOS · Reconstruction</p>
|
|
<div>
|
|
<h2>How TH04 aims a ring of bullets</h2>
|
|
<p>
|
|
Inspect the original 16-bit angle helper with REA. Match its
|
|
multiply, divide and coordinate operations to readable C++, then
|
|
see how they produce a ring aimed at the player.
|
|
</p>
|
|
<div class="guide-route">
|
|
<span>Original DOS code</span> <b aria-hidden="true">→</b>
|
|
<span>REA instructions</span> <b aria-hidden="true">→</b>
|
|
<span>Angle calculation</span> <b aria-hidden="true">→</b>
|
|
<span>Bullet ring</span>
|
|
</div>
|
|
<a class="text-link" href="th04/">Read the TH04 case study</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<section class="article-section">
|
|
<h2>Step-by-step guides</h2>
|
|
<p>
|
|
The guides walk through a native calculation, an Electron export and a
|
|
browser request. Each starts with a prompt and a concrete target.
|
|
</p>
|
|
<a class="text-link" href="../guides/">Read the guides</a>
|
|
</section>
|
|
</main>
|
|
<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">Community</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>
|
|
</body>
|
|
</html>
|