Resolve eight nested README links from their owning directory. Preserve the shared README/website inventory contract by registering Malayalam with an explicitly untranslated catalog and the existing visible, noindex English fallback. Regenerate the shared website navigation and catalog references. Existing parsed translations remain unchanged. Validation: docs check, full website check (401 HTML pages, 27790 local references, 19 tests), all 19 generated Malayalam fallback pages, and two source reviews. No Malayalam website translation or browser layout claim. Fixes #4821
256 lines
14 KiB
HTML
256 lines
14 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>REA Blog — Thoughts on Reverse Engineering</title>
|
|
<meta
|
|
name="description"
|
|
content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents."
|
|
/>
|
|
<!-- website:sharing:start -->
|
|
<!-- prettier-ignore -->
|
|
<link rel="canonical" href="https://rea.tools/blog/" />
|
|
<!-- website:languages:start -->
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="en" href="https://rea.tools/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="zh-CN" href="https://rea.tools/zh-CN/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="zh-TW" href="https://rea.tools/zh-TW/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="ja" href="https://rea.tools/ja/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="ko" href="https://rea.tools/ko/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="tr" href="https://rea.tools/tr/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="ru" href="https://rea.tools/ru/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="vi" href="https://rea.tools/vi/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="th" href="https://rea.tools/th/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="de" href="https://rea.tools/de/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="es" href="https://rea.tools/es/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="fr" href="https://rea.tools/fr/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="uk" href="https://rea.tools/uk/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="pl" href="https://rea.tools/pl/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="pt-BR" href="https://rea.tools/pt-BR/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="ar" href="https://rea.tools/ar/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="fa" href="https://rea.tools/fa/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="id" href="https://rea.tools/id/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="it" href="https://rea.tools/it/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="el" href="https://rea.tools/el/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="ml" href="https://rea.tools/ml/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<link rel="alternate" hreflang="x-default" href="https://rea.tools/blog/" />
|
|
<!-- website:languages:end -->
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:type" content="website" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:site_name" content="REA" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:title" content="REA Blog — Thoughts on Reverse Engineering" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:description" content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:url" content="https://rea.tools/blog/" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:image" content="https://rea.tools/assets/social-card.png" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:image:type" content="image/png" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:image:width" content="1200" />
|
|
<!-- prettier-ignore -->
|
|
<meta property="og:image:height" content="630" />
|
|
<!-- prettier-ignore -->
|
|
<meta
|
|
property="og:image:alt"
|
|
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
|
/>
|
|
<!-- prettier-ignore -->
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<!-- prettier-ignore -->
|
|
<meta name="twitter:title" content="REA Blog — Thoughts on Reverse Engineering" />
|
|
<!-- prettier-ignore -->
|
|
<meta name="twitter:description" content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." />
|
|
<!-- prettier-ignore -->
|
|
<meta name="twitter:image" content="https://rea.tools/assets/social-card.png" />
|
|
<!-- prettier-ignore -->
|
|
<meta
|
|
name="twitter:image:alt"
|
|
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
|
/>
|
|
<!-- website:sharing:end -->
|
|
<!-- website:theme:start -->
|
|
<meta name="theme-color" content="#ffffff" />
|
|
<!-- Apply the saved theme before styles load, to avoid a flash on navigation. -->
|
|
<script src="../assets/theme.js"></script>
|
|
<!-- website:theme:end -->
|
|
<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 -->
|
|
<!-- prettier-ignore -->
|
|
<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" data-i18n-skip>Reverse Engineer Anything</span></a
|
|
>
|
|
<nav class="navigation" aria-label="Main navigation">
|
|
<a href="../get-started/" class="nav-start">Get started</a>
|
|
<a href="../showcase/">Showcases</a>
|
|
<a href="../blog/" aria-current="page">Blog</a>
|
|
<a href="../guides/">Guides</a>
|
|
<a href="../faq/">FAQ</a>
|
|
<a href="../contributors/">Contributors</a>
|
|
</nav>
|
|
<div class="header-social">
|
|
<details class="language-picker" data-i18n-skip><summary><span aria-hidden="true">文 / A</span> <span>English</span></summary><nav aria-label="English"><a href="../blog/" lang="en" dir="ltr" data-language="en" aria-current="true">English</a><a href="../zh-CN/blog/" lang="zh-CN" dir="ltr" data-language="zh-CN">简体中文</a><a href="../zh-TW/blog/" lang="zh-TW" dir="ltr" data-language="zh-TW">繁體中文</a><a href="../ja/blog/" lang="ja" dir="ltr" data-language="ja">日本語</a><a href="../ko/blog/" lang="ko" dir="ltr" data-language="ko">한국어</a><a href="../tr/blog/" lang="tr" dir="ltr" data-language="tr">Türkçe</a><a href="../ru/blog/" lang="ru" dir="ltr" data-language="ru">Русский</a><a href="../vi/blog/" lang="vi" dir="ltr" data-language="vi">Tiếng Việt</a><a href="../th/blog/" lang="th" dir="ltr" data-language="th">ไทย</a><a href="../de/blog/" lang="de" dir="ltr" data-language="de">Deutsch</a><a href="../es/blog/" lang="es" dir="ltr" data-language="es">Español</a><a href="../fr/blog/" lang="fr" dir="ltr" data-language="fr">Français</a><a href="../uk/blog/" lang="uk" dir="ltr" data-language="uk">Українська</a><a href="../pl/blog/" lang="pl" dir="ltr" data-language="pl">Polski</a><a href="../pt-BR/blog/" lang="pt-BR" dir="ltr" data-language="pt-BR">Português (Brasil)</a><a href="../ar/blog/" lang="ar" dir="rtl" data-language="ar">العربية</a><a href="../fa/blog/" lang="fa" dir="rtl" data-language="fa">فارسی</a><a href="../id/blog/" lang="id" dir="ltr" data-language="id">Bahasa Indonesia</a><a href="../it/blog/" lang="it" dir="ltr" data-language="it">Italiano</a><a href="../el/blog/" lang="el" dir="ltr" data-language="el">Ελληνικά</a><a href="../ml/blog/" lang="ml" dir="ltr" data-language="ml">മലയാളം</a></nav></details>
|
|
<button class="theme-toggle" type="button" data-theme-toggle hidden>
|
|
<svg class="theme-moon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
|
<path d="M20.9 13a9 9 0 0 1-9.9-9.9A9 9 0 1 0 20.9 13Z" />
|
|
</svg>
|
|
<svg class="theme-sun" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true" focusable="false">
|
|
<circle cx="12" cy="12" r="4" />
|
|
<path d="M12 2v2m0 16v2M2 12h2m16 0h2M4.93 4.93l1.42 1.42m11.3 11.3 1.42 1.42M4.93 19.07l1.42-1.42m11.3-11.3 1.42-1.42" />
|
|
</svg>
|
|
</button>
|
|
<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> / Blog</p>
|
|
<h1>Blog.</h1>
|
|
<p class="lede">Thoughts on reverse engineering.</p>
|
|
</div>
|
|
<div class="guide-index">
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">Model specialization<br />Essay</p>
|
|
<div>
|
|
<h2>Does reverse engineering need a bigger model?</h2>
|
|
<p>
|
|
What Touhou reconstruction suggests about general models,
|
|
specialist models and learning from compiler feedback.
|
|
</p>
|
|
<a class="text-link" href="reverse-engineering-models/"
|
|
>Read the article</a
|
|
>
|
|
<p class="page-meta">By N0zoM1z0 · 13 October 2026</p>
|
|
</div>
|
|
</section>
|
|
<section class="guide-entry">
|
|
<p class="eyebrow">Game reconstruction<br />Essay</p>
|
|
<div>
|
|
<h2>The industrial revolution in reverse engineering</h2>
|
|
<p>
|
|
What manual RE and reconstructing TH08, TH095 and TH04 taught me
|
|
about agents, verification and knowledge that compounds across
|
|
projects.
|
|
</p>
|
|
<a class="text-link" href="touhou-reconstruction/"
|
|
>Read the article</a
|
|
>
|
|
<p class="page-meta">By N0zoM1z0 · 10 October 2026</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</main>
|
|
<!-- website:footer:start -->
|
|
<!-- prettier-ignore -->
|
|
<footer class="site-footer">
|
|
<div class="container footer-inner">
|
|
<p>REA · Reverse Engineer Anything</p>
|
|
<div class="footer-links">
|
|
<a href="../contributors/">Contributors</a
|
|
><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>
|