← All books

Book cover of REVERSE ENGINEERING WITH REA by Faramarz Kowsari

REVERSE ENGINEERING WITH REA

A Practical Guide to AI-Assisted Software Analysis, Evidence-Based Reconstruction, and Responsible Reverse Engineering

Faramarz Kowsari · English · Software Engineering & Reverse Engineering · 2026

Free Google Books Preview

Read a free sample of this book on Google Books before you buy.

About this book

REVERSE ENGINEERING WITH REA is an evidence-centered guide to using AI-assisted tooling for authorized software investigation without confusing fluent explanations, decompiler output, or reconstructed code with proof. The book treats REA as evidence-access infrastructure that can connect an AI agent to bounded analysis operations, while keeping the analyst responsible for scope, authorization, interpretation, uncertainty and publication. It begins by distinguishing what REA can actually observe from what an agent merely infers, then establishes professional boundaries for lawful possession, inspection, runtime experimentation, evidence retention, independent implementation and public release. The recurring principle is simple: technical capability does not itself create permission, and a strong reverse-engineering conclusion must be traceable to authentic evidence rather than to a plausible narrative.

The workstation and tooling chapters turn setup into part of the experiment. Instead of assuming that a successful installer means the analysis stack is ready, the book separates runtime compatibility, agent registration, provider readiness and a genuine evidence-producing response. It covers reproducible host records, package and provider versions, hashes, least-privilege working directories, read-only originals, REA CLI and MCP concepts, and the need to distinguish a workflow skill from a live analysis provider. The text emphasizes that failures and blocked capabilities belong in the research record: an unavailable provider, incompatible runtime or missing capture must be documented as an unavailable lane rather than replaced by invented output.

The investigation methodology moves from question framing and artifact triage into native binaries, assembly, linking, disassembly, decompilation, data flow and structure recovery. Decompiler output is treated explicitly as a hypothesis constrained by architecture, inferred types and incomplete information—not as recovered source code. Readers are taught to cross-check pseudocode against lower-level evidence, use boundary tests to resolve ambiguities, preserve uncertainty when multiple interpretations fit the same bytes, and reconstruct behavior from tested contracts rather than from cosmetic resemblance to decompiled expressions. Native examples are complemented by JavaScript application graphs, Electron process boundaries, browser behavior, network and HAR evidence, Android APK analysis with JADX, .NET assemblies, managed and hybrid boundaries, saved captures, firmware, WebAssembly and packaged-program metadata.

A major part of the book is devoted to reconstruction rather than simple inspection. Findings are converted into explicit behavior specifications describing input domains, outputs, errors, state transitions, persistence, side effects, timing assumptions and known unknowns. The book then shows how an independently written implementation should be judged against that lawful, evidence-supported contract through acceptance tests, differential testing and edge cases. Visual similarity is deliberately separated from functional equivalence, and unexplained behavior remains an open requirement instead of being filled in by guesswork. Where separation from protected implementation details matters, the book advocates a clean behavioral-specification workflow so that implementation can be based on permitted observations rather than copied internals.

AI-agent reliability is treated as its own research problem. The book examines failure modes such as hallucinated commands, wrong-file selection, unsupported-provider claims, loss of important limitations during summarization, confusion between simulated and genuine results, and instruction-looking strings recovered from untrusted artifacts. Tool results, logs, comments, HTML and embedded strings remain lower-trust data; they cannot promote themselves into operational authority. Important conclusions are expected to cite the evidence record that supports them, and actions with filesystem, process, credential, browser-profile or network effects require explicit authorization. Honest uncertainty and a documented failed tool call are treated as stronger engineering than a polished but invented success.

The final chapters assemble the method into a complete professional REA investigation project. A capstone begins with a bounded research question, explicit authority, immutable artifact identity and a reproducible environment; it proceeds through evidence collection, claim-to-evidence mapping, a behavior contract, an independently written implementation and a declared differential test suite. The deliverable is not merely a working clone or demo video but an auditable package containing permission records, hashes, workstation and toolchain details, raw captures, hypotheses, verified figures, tests, contradictions, limitations, redaction decisions and publication rights. The resulting workflow makes reverse engineering useful for education, debugging, interoperability and responsible software research while keeping evidence quality, reproducibility and professional restraint at the center.

What you will learn

Key topics

Who this book is for

For software engineers, reverse engineers, AI-assisted development practitioners, security and interoperability researchers, technical investigators, students of binary analysis, and developers who want to use REA-style agent workflows while maintaining clear authorization, evidence provenance, reproducibility, independent validation and responsible publication practices.

Browse Books by Topic

Explore the library by subject and find related books faster.