<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Malware Analysis on RockB</title><link>https://baeseokjae.github.io/tags/malware-analysis/</link><description>Recent content in Malware Analysis on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 15 Aug 2026 10:02:16 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/malware-analysis/index.xml" rel="self" type="application/rss+xml"/><item><title>REVLab Review 2026: The Windows PE Reverse Engineering Workflow Platform</title><link>https://baeseokjae.github.io/posts/revlab-pe-reverse-engineering-2026/</link><pubDate>Sat, 15 Aug 2026 10:02:16 +0000</pubDate><guid>https://baeseokjae.github.io/posts/revlab-pe-reverse-engineering-2026/</guid><description>REVLab is a 2026 Windows PE reverse-engineering platform uniting static analysis, unpacking, Ghidra decompile, sandbox, and AI/MCP agent workflows in one UI.</description><content:encoded><![CDATA[<p>REVLab is a Windows PE reverse-engineering workflow platform that combines static analysis, packer detection, unpacking, disassembly, decompilation, a dynamic sandbox, network capture, custom pipelines, and MCP/AI-agent integration into a single local-first web application. It turns RE from a pile of disconnected utilities into one repeatable, graph-orchestrated pipeline, and it is a brand-new open-source entrant that differentiates itself through automation and AI-driven analysis rather than raw disassembly power.</p>
<h2 id="what-is-revlab-a-windows-pe-reverse-engineering-workflow-platform">What Is REVLab? A Windows PE Reverse-Engineering Workflow Platform</h2>
<p>REVLab is an open-source, local-first platform aimed squarely at Windows Portable Executable (PE) reverse engineering. Where traditional tooling forces an analyst to hop between a debugger, a disassembler, a packer detector, and a network sniffer, REVLab bundles those steps into a single application with one web UI and one orchestrating workflow engine.</p>
<p>Created on August 11, 2026, with its latest push the following day, REVLab is extremely new: it carries 9 commits, 12 GitHub stars, 7 forks, and zero open issues as of this review. It has no tagged releases yet, and its primary documentation is written in Chinese. That maturity profile matters — REVLab is a promising prototype in active development, not yet a battle-tested release.</p>
<p>The platform is written in Python 3.11 and built on a FastAPI backend with SQLite (SQLAlchemy) for storage. It performs PE parsing through a dual-engine approach using both <code>pefile</code> and LIEF, disassembles x86 and x64 with Capstone, decompiles with Ghidra Headless (which requires Java 21), unpacks with UPX and pe-sieve, and captures network traffic via pktmon plus a custom pcap parser.</p>
<h2 id="the-full-pipeline-from-fingerprint-to-aggregated-report-in-one-ui">The Full Pipeline: From Fingerprint to Aggregated Report in One UI</h2>
<p>The core pitch of REVLab is the unified pipeline: one local application takes a PE sample from fingerprint through to an aggregated report without the analyst manually stitching tools together. The intended flow looks like this:</p>
<ol>
<li><strong>Fingerprint</strong> — basic PE header and metadata extraction via pefile/LIEF.</li>
<li><strong>Packer detection</strong> — a signature library covering 30+ packers and protectors, in the spirit of Detect It Easy (UPX, ASPack, PECompact, Petite, MPRESS, VMProtect, Themida, Armadillo, and others).</li>
<li><strong>Unpacking</strong> — generic memory dump plus IAT fix using pe-sieve, with UPX handling for the most common case.</li>
<li><strong>Disassembly</strong> — x86/x64 disassembly through Capstone.</li>
<li><strong>Decompilation</strong> — function-level C pseudo-code via Ghidra Headless.</li>
<li><strong>Dynamic sandbox</strong> — isolated execution for behavior observation.</li>
<li><strong>Network capture</strong> — pktmon collection with a custom pcap parser.</li>
<li><strong>Aggregated report</strong> — all evidence consolidated into one document.</li>
</ol>
<p>The value of this design is that the entire flow is reproducible and scriptable. An analyst can re-run the same pipeline on a new sample with a few clicks, rather than re-building a chain of command-line invocations each time. For incident response teams and malware analysts who process many samples, that repeatability is often the difference between a workflow that scales and one that lives in someone&rsquo;s muscle memory.</p>
<h2 id="graph-workflow-engine-v3-nodes-branches-approvals-and-failure-policies">Graph Workflow Engine v3: Nodes, Branches, Approvals, and Failure Policies</h2>
<p>The automation core of REVLab is its graph workflow engine (version 3), rendered on a Vue Flow canvas. This is the component that elevates REVLab beyond a bundle of one-shot tools. It provides:</p>
<ul>
<li><strong>Node drag-and-drop</strong> — build a pipeline visually by connecting nodes.</li>
<li><strong>Multi-condition branches</strong> — route samples down different paths based on earlier results (for example, only unpack if a packer was detected).</li>
<li><strong>Approval nodes</strong> — insert human checkpoints where an analyst must sign off before the pipeline continues.</li>
<li><strong>Failure policies</strong> — per-node retry, skip, or abort behavior.</li>
<li><strong><code>retry_count</code></strong> — configure how many times a failing node retries.</li>
<li><strong><code>{{var}}</code> variable system</strong> — pass values between nodes and reference them in later steps.</li>
<li><strong>Per-node rerun/skip</strong> — re-execute a single node without restarting the whole graph.</li>
<li><strong>Preset templates</strong> — <code>pe-auto</code>, <code>ue-special</code>, and <code>unity-special</code> get analysts started immediately.</li>
</ul>
<p>This orchestration layer is the strongest differentiator versus point tools. Ghidra, x64dbg, radare2, and Cutter are excellent at what they do, but none of them ships a visual graph-workflow engine that models an end-to-end analysis run with branches, approvals, and failure handling. REVLab treats reverse engineering as a process to be modeled and automated, not a sequence of manual interactions.</p>
<h2 id="ai-assisted-analysis-and-the-37-tool-mcp-server-codex--claude-code--cursor">AI-Assisted Analysis and the 37-Tool MCP Server (Codex / Claude Code / Cursor)</h2>
<p>The most genuinely novel angle for 2026 is REVLab&rsquo;s AI/agent-native design. The platform ships a Model Context Protocol (MCP) server exposing <strong>37 tools</strong>, including full workflow control:</p>
<ul>
<li><code>wf_create_task</code></li>
<li><code>wf_run_task</code></li>
<li><code>wf_retry_node</code></li>
<li><code>wf_resolve_ai</code></li>
</ul>
<p>This means an external AI agent — whether Codex, Claude Code, or Cursor — can drive the entire analysis loop: create a task, run a workflow, read the accumulated evidence, submit conclusions, and retry individual nodes when needed. Notably, this works <strong>without configuring an internal LLM</strong>, because the external agent supplies the intelligence.</p>
<p>REVLab also ships AI-assisted analysis nodes (<code>pe_ai_assist</code>, <code>ue_ai_assist</code>, <code>unity_ai_assist</code>). These combine upstream evidence and can web-search packer signatures, DLL/function purposes, and suspicious behavior patterns, then auto-write their findings into the report. Model presets cover a wide field: OpenAI, DeepSeek, Qwen/Tongyi, Zhipu, Kimi, SiliconFlow, Gemini, OpenRouter, Groq, Together, Mistral, Perplexity, Azure OpenAI, Anthropic-compatible proxies, Ollama, and LM Studio.</p>
<p>This is a meaningful shift. Most open-source RE tooling treats AI as an afterthought, if it addresses it at all. REVLab makes an LLM agent a first-class participant in the workflow — a genuinely differentiated position in the 2026 landscape.</p>
<h2 id="beyond-pe-unreal-engine-gnamesgobjects-and-unity-il2cppsdk-dump-workflows">Beyond PE: Unreal Engine (GNames/GObjects) and Unity (IL2CPP/SDK Dump) Workflows</h2>
<p>Multi-engine coverage is unusual for an open-source RE tool. In addition to its general PE pipeline, REVLab ships two special workflows aimed at game-engine reverse engineering:</p>
<ul>
<li><strong>Unreal Engine</strong> — resolves GNames, GObjects, GWorld, and GEngine via string cross-reference plus signature scanning, giving analysts the core symbols needed to map UE structures.</li>
<li><strong>Unity</strong> — aligns assembly/IL2CPP metadata and SDK dumps to the Il2CppDumper output format, helping analysts reconstruct managed-to-native type mappings.</li>
</ul>
<p>Equally important is how REVLab handles evidence honesty. In the UE and Unity workflows, results are explicitly marked as <strong>confirmed</strong>, <strong>candidate</strong>, or <strong>unconfirmed</strong>, rather than passing static-analysis guesses off as verified addresses. For a young tool, this is a mature touch that builds trust with analysts who have been burned by confident-but-wrong symbol resolution.</p>
<h2 id="tech-stack-and-setup-fastapi-capstone-ghidra-headless-pe-sieve-pktmon">Tech Stack and Setup: FastAPI, Capstone, Ghidra Headless, PE-sieve, pktmon</h2>
<p>For the engineer evaluating REVLab, the stack is modern and approachable:</p>
<table>
  <thead>
      <tr>
          <th>Component</th>
          <th>Role</th>
          <th>Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Python 3.11 / FastAPI</td>
          <td>Backend &amp; API</td>
          <td>Serves the web UI and workflow engine</td>
      </tr>
      <tr>
          <td>SQLite (SQLAlchemy)</td>
          <td>Storage</td>
          <td>Local-first, zero external DB setup</td>
      </tr>
      <tr>
          <td>pefile + LIEF</td>
          <td>Dual PE parsing</td>
          <td>Redundancy across two parsers</td>
      </tr>
      <tr>
          <td>Capstone</td>
          <td>x86/x64 disassembly</td>
          <td>Well-established disassembly framework</td>
      </tr>
      <tr>
          <td>Ghidra Headless</td>
          <td>Decompilation</td>
          <td>Requires Java 21</td>
      </tr>
      <tr>
          <td>UPX + pe-sieve</td>
          <td>Unpacking</td>
          <td>Generic memory dump + IAT fix</td>
      </tr>
      <tr>
          <td>pktmon + custom pcap parser</td>
          <td>Network capture</td>
          <td>Windows-native packet collection</td>
      </tr>
      <tr>
          <td>Vue Flow</td>
          <td>Workflow canvas</td>
          <td>Graph orchestration UI</td>
      </tr>
      <tr>
          <td>MCP server (37 tools)</td>
          <td>AI/agent integration</td>
          <td>Codex / Claude Code / Cursor</td>
      </tr>
  </tbody>
</table>
<p>The main setup caveat is the <strong>Java 21 requirement</strong> for Ghidra Headless decompilation. Analysts on older Java runtimes will need to install or upgrade before the decompile node works. Everything else leans on standard, well-supported components.</p>
<h2 id="security-and-compliance-lab-only-disclaimer-and-local-first-design">Security and Compliance: Lab-Only Disclaimer and Local-First Design</h2>
<p>REVLab carries a heavy legal and compliance disclaimer that users should read before deploying. The key constraints are:</p>
<ul>
<li><strong>Lab-only use</strong> — intended for authorized analysis in a controlled environment.</li>
<li><strong>Self-developed or authorized software only</strong> — not for indiscriminate use on third-party binaries.</li>
<li><strong>Isolated VM/sandbox for dynamic analysis</strong> — the dynamic and network-capture stages must run in a safe environment.</li>
<li><strong>Local-first, no outbound network by default</strong> — the platform does not phone home or rely on cloud services.</li>
</ul>
<p>This posture is a deliberate appeal to the security-research crowd wary of cloud-based RE services that upload samples to external vendors. The trade-off is that dynamic-analysis quality depends entirely on the analyst standing up a proper sandbox — REVLab provides the orchestration, but the isolation is your responsibility.</p>
<h2 id="how-revlab-compares-to-ghidra-x64dbg-pe-sieve-die-and-cutter">How REVLab Compares to Ghidra, x64dbg, pe-sieve, DIE, and Cutter</h2>
<p>To judge where REVLab fits, it helps to lay the mature incumbents side by side:</p>
<table>
  <thead>
      <tr>
          <th>Tool</th>
          <th>Stars (approx.)</th>
          <th>Focus</th>
          <th>REVLab edge</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Ghidra (NSA)</td>
          <td>~72.4k</td>
          <td>Disassembly + decompilation framework</td>
          <td>REVLab automates Ghidra Headless into a pipeline</td>
      </tr>
      <tr>
          <td>x64dbg</td>
          <td>~49.2k</td>
          <td>Interactive Windows user-mode debugger</td>
          <td>REVLab adds end-to-end graph workflow + AI</td>
      </tr>
      <tr>
          <td>radare2</td>
          <td>~24.6k</td>
          <td>UNIX-like RE framework / CLI</td>
          <td>REVLab offers a visual node-graph + MCP</td>
      </tr>
      <tr>
          <td>Cutter</td>
          <td>~19.4k</td>
          <td>GUI RE platform (Rizin-based)</td>
          <td>REVLab unifies static→unpack→dynamic→report</td>
      </tr>
      <tr>
          <td>pe-sieve</td>
          <td>~3.9k</td>
          <td>Process memory dumper</td>
          <td>REVLab wraps it for generic unpacking</td>
      </tr>
      <tr>
          <td>DIE engine</td>
          <td>~3.2k</td>
          <td>Packer/protector detection</td>
          <td>REVLab uses a 30+ signature library in the same spirit</td>
      </tr>
      <tr>
          <td><strong>REVLab</strong></td>
          <td><strong>12</strong></td>
          <td><strong>Automation-first PE workflow + AI/MCP</strong></td>
          <td><strong>—</strong></td>
      </tr>
  </tbody>
</table>
<p>The honest takeaway: REVLab is not competing on raw analysis depth. Ghidra&rsquo;s decompiler, x64dbg&rsquo;s debugging UX, and radare2&rsquo;s breadth all remain more powerful in their specific domains. REVLab competes on <strong>orchestration and automation</strong> — it wraps these capabilities into a repeatable, AI-drivable pipeline that the incumbents do not offer as an integrated product.</p>
<h2 id="should-you-use-revlab-in-2026--verdict-strengths-and-caveats">Should You Use REVLab in 2026? — Verdict, Strengths, and Caveats</h2>
<p><strong>Verdict: promising, but early.</strong> If your work is one-off deep analysis of a handful of binaries, stick with Ghidra or x64dbg. If you process many PE samples and want a reproducible, automatable pipeline with AI-agent drive, REVLab is worth a serious look — with eyes open about its maturity.</p>
<p><strong>Strengths:</strong></p>
<ul>
<li>Unified static → unpack → dynamic → report flow in a single UI.</li>
<li>Visual graph workflow engine with branches, approvals, retry/skip, and <code>{{var}}</code> variables.</li>
<li>Genuinely novel MCP + AI-agent integration (37 tools; Codex, Claude Code, Cursor).</li>
<li>Multi-engine coverage (PE + Unreal + Unity) under one roof.</li>
<li>Honest confirmed/candidate/unconfirmed evidence labeling.</li>
<li>Local-first, no telemetry, lab-compliance posture.</li>
</ul>
<p><strong>Caveats:</strong></p>
<ul>
<li>Brand-new project (Aug 2026): 12 stars, 9 commits, no tagged releases.</li>
<li>Single-maintainer dynamics and no contributor diversity yet.</li>
<li>Documentation primarily in Chinese.</li>
<li>Ghidra Headless requires Java 21.</li>
<li>The malware/unpacking domain carries an ethical and legal gray zone that you must navigate carefully.</li>
</ul>
<p>For a 2026 evaluation, REVLab is the most automation-forward open-source PE workflow platform on the scene. It is not yet a replacement for the giants — but its graph engine and agent-native design point clearly at where reverse engineering tooling is heading. Watch it.</p>
<h2 id="frequently-asked-questions">Frequently Asked Questions</h2>
<p><strong>Is REVLab a replacement for Ghidra or x64dbg?</strong>
Not yet. REVLab&rsquo;s decompiler and debugger are powered by and complement Ghidra and related tooling, but it competes on automation and workflow orchestration rather than raw analysis depth. For deep one-off analysis, the mature incumbents remain stronger.</p>
<p><strong>Does REVLab require an internet connection?</strong>
No. REVLab is local-first with no outbound network by default, which suits security researchers wary of cloud-based RE services. Optional AI-assisted nodes can web-search signatures and behavior patterns, and AI model calls use your configured provider.</p>
<p><strong>What does &ldquo;MCP server&rdquo; mean in REVLab?</strong>
The Model Context Protocol server exposes 37 tools that let external AI agents like Codex, Claude Code, or Cursor drive the full analysis loop — creating tasks, running workflows, reading evidence, and retrying nodes — without configuring an internal LLM.</p>
<p><strong>Which unpackers and packer detectors does REVLab support?</strong>
REVLab uses UPX and pe-sieve for unpacking and a 30+ signature library for packer/protector detection covering UPX, ASPack, PECompact, Petite, MPRESS, VMProtect, Themida, Armadillo, and others — in the spirit of Detect It Easy.</p>
<p><strong>Can REVLab handle Unreal Engine and Unity binaries?</strong>
Yes. REVLab ships special workflows for Unreal Engine (GNames/GObjects/GWorld/GEngine via string cross-reference and signature scanning) and Unity (assembly/IL2CPP metadata and SDK dumps aligned to Il2CppDumper), with results labeled confirmed, candidate, or unconfirmed.</p>
]]></content:encoded></item></channel></rss>