[GH-ISSUE #3698] [Tracker] Interactive entertainment runtime and asset reverse engineering: container formats, scripting VMs, protocols and asset graphs #1410

Closed
opened 2026-10-16 21:05:12 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @matbrgz on GitHub (Oct 14, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/3698

Type: Tracker Status: Proposed Ecosystem: REA

Scope & Strategic Vision

Interactive entertainment applications, simulations, and virtual worlds represent some of the most complex software architectures in existence. They combine high-performance native engines, multi-layer container archives, domain-specific virtual machines, declarative entity-component models, custom binary network protocols, and deeply interconnected asset pipelines.

Rather than treating these targets with ad-hoc unpackers, REA's objective is to establish a rigorous, modular, and reusable Asset and Runtime Reverse Engineering Platform. By separating core foundations (scripting VMs, container formats, protocol forensics) from specific runtime profiles, a small set of shared parsers powers hundreds of diverse titles, virtual worlds, and modification ecosystems.

Strict Non-Goals & Responsible Use

All capabilities developed under this initiative adhere to strict principles of passive, offline reverse engineering:

  • Offline / Static Analysis Only: Analysis operates exclusively on static local files, archives, and user-provided fixtures.
  • No Anti-Cheat or DRM Bypass: REA will not include bypass mechanisms for anti-cheat drivers, obfuscated integrity checks, license enforcement, or commercial DRM layers. Encrypted assets with missing keys are marked as encrypted/inaccessible.
  • Authorized Network Captures Only: Protocol analysis operates strictly on offline .pcap or user-recorded session files; no active probing, server scanning, packet injection, or botting functionality.

Architectural Breakdown

flowchart TD
    A["Asset and Runtime Reverse Engineering Architecture"] --> B["Tier 1: Shared Scripting VMs & Bytecodes"]
    A --> C["Tier 2: Container Archives & Virtual Filesystems"]
    A --> D["Tier 3: Object Reflection, Physics & Behavior Graphs"]
    A --> E["Tier 4: Network Protocol Forensics & Framing"]
    A --> F["Tier 5: Engines & Application Runtimes"]

    B --> B1["Lua 5.1-5.4 & LuaJIT Bytecode (#3699)"]
    B --> B2["Papyrus PEX Bytecode (#3706)"]
    B --> B3["YSC GTA Script Bytecode (#3701)"]
    B --> B4["Compiled LUB Bytecode (#3707)"]

    C --> C1["RPF Containers & Resource Headers (#3701)"]
    C --> C2["VPK, BSP & Lump File Tables (#3705)"]
    C --> C3["MPQ / CASC Storage & DB2 Tables (#3704)"]
    C --> C4["ESM/ESP Plugins & FormID Trees (#3706)"]
    C --> C5["GRF (#3707), OTB/OTBM (#3708), KPKA (#3709)"]
    C --> C6["CAT/CAS Super-bundles (#3710), CR2W (#3711)"]
    C --> C7["Anvil .mca (#3702), Bedrock .mcworld (#3703)"]

    D --> D1["HKX Animation, Physics & Ragdolls (#3712)"]
    D --> D2["RSZ Reflection & Typed Object Trees (#3709)"]
    D --> D3["EBX Hierarchies & Super-Bundles (#3710)"]
    D --> D4["XNB Type Reader Descriptors & Meshes (#3713)"]

    E --> E1["MMO Framing, Tile-Grid Packets & Schemas (#3708)"]

    F --> F1["Unity Engine Recovery (#3607, #3784)"]
    F --> F2["Unreal Engine UAsset & Blueprint (#3625)"]
    F --> F3["Godot PCK, GDScript & Signals (#3631, #3633)"]
    F --> F4["GameMaker GML Bytecode & Rooms (#3632)"]
    F --> F5["Ren'Py & Visual Novel Engines (#3648, #3683)"]
    F --> F6["RPG Maker (#3647), Clickteam (#3649), Construct (#3650)"]
    F --> F7["FiveM & Multiplayer Packages (#3700)"]

Complete Tracked Issues Index

1. Scripting Virtual Machines & Bytecode

  • #3699 — [Feature] Lua and LuaJIT bytecode reverse engineering: chunks, prototypes, fastcall opcodes, CFG and source reconstruction
  • #3706 — [Feature] Modular plugin and master archive reverse engineering: ESM/ESP/ESL record hierarchies, BSA/BA2 containers, FormID references and Papyrus PEX bytecode
  • #3701 — [Feature] RPF archive and resource reverse engineering: RPF7/RPF8 containers, RSC headers, YSC script bytecode, YDR/YFT models and YTD texture dictionaries
  • #3707 — [Feature] GRF archive and sprite format reverse engineering: .grf containers, GND/GAT navigation meshes, RSW scenes, SPR/ACT animations and compiled LUB scripts

2. Container Archives & Virtual Filesystems

  • #3701 — [Feature] RPF archive and resource reverse engineering: RPF7/RPF8 containers, RSC headers, YSC script bytecode, YDR/YFT models and YTD texture dictionaries
  • #3702 — [Feature] Anvil world container and NBT reverse engineering: .mca chunk regions, level.dat, compound tags, datapacks and modloader metadata graphs
  • #3703 — [Feature] Mobile world container reverse engineering: .mcworld, .mcpack, .mcaddon packages, Molang expressions, behavior schemas and Script API graphs
  • #3704 — [Feature] MPQ and CASC hybrid storage reverse engineering: DBC/DB2 tables, WDT/ADT world maps, M2 models, BLP textures and TOC addon graphs
  • #3705 — [Feature] VPK archive and BSP map reverse engineering: VPK containers, BSP lump entities, VTF/VMT materials, MDL/VVD/VTX meshes and KV3 object graphs
  • #3706 — [Feature] Modular plugin and master archive reverse engineering: ESM/ESP/ESL record hierarchies, BSA/BA2 containers, FormID references and Papyrus PEX bytecode
  • #3707 — [Feature] GRF archive and sprite format reverse engineering: .grf containers, GND/GAT navigation meshes, RSW scenes, SPR/ACT animations and compiled LUB scripts
  • #3708 — [Feature] 2D tile-grid MMO asset reverse engineering: OTB/OTBM binary maps, versioned sprite catalogs, client UI modules and packet framing schemas
  • #3709 — [Feature] KPKA container and RSZ serialization reverse engineering: KPKA archives, RSZ object reflection graphs, PFB prefabs, SCN scenes and texture dictionaries
  • #3710 — [Feature] CAT/CAS container and EBX object reverse engineering: CAT/CAS chunk storage, TOC/SB super-bundles, EBX typed reflection trees and RES resource graphs
  • #3711 — [Feature] CR2W and RED4 resource container reverse engineering: CR2W chunk trees, RTTI reflection tables, compiled script bytecodes and entity component graphs

3. Object Reflection, Physics & Asset Pipelines

  • #3712 — [Feature] HKX binary packfile and tagfile reverse engineering: reflection metadata, skeleton hierarchies, ragdoll constraints and behavior animation graphs
  • #3713 — [Feature] XNB Content Pipeline reverse engineering: XNB type reader descriptors, compressed textures, sprite fonts, audio streams and 3D mesh assets
  • #3609 — [Feature] Video Reverse Engineering: Deconstruct rendered video artifacts into editing timelines, visual effects, motion tracking, and audio stems
  • #3611 — [Feature] Music and Sound Effects Reverse Engineering: Deconstruct audio into multitrack stems, polyphonic MIDI, synth patches, and DSP effect chains

4. Engine Deconstruction & App Runtimes

  • #3607 — [Feature] Comprehensive Unity extraction and reverse engineering: IL2CPP metadata recovery, Mono CIL decompilation, and serialized asset analysis
  • #3784 — [Feature] Read-only inventory of Unity IL2CPP global-metadata.dat (first slice of #3607)
  • #3625 — [Feature] Unreal Engine reverse engineering: Pak/IoStore, UAsset reflection, and Blueprint bytecode reconstruction
  • #3631 — [Feature] Godot reverse engineering: PCK unpacking, scene/resource deserialization, GDScript bytecode decompilation, and signal graph reconstruction
  • #3632 — [Feature] GameMaker reverse engineering: data.win, GML bytecode, objects/events, and room reconstruction
  • #3647 — [Feature] RPG Maker reverse engineering: RGSS/Ruby Marshal, MV/MZ JavaScript, maps/events, plugins and encrypted asset reconstruction
  • #3648 — [Feature] Ren'Py reverse engineering: RPA archives, RPYC compiled scripts, screens/ATL, labels and route reconstruction
  • #3649 — [Feature] Clickteam Fusion reverse engineering: MFA/CCN/EXE packages, event sheets, objects/extensions and runtime graph reconstruction
  • #3650 — [Feature] Construct 2/3 reverse engineering: runtime bundles, event sheets, object behaviors and JavaScript/WASM reconstruction
  • #3683 — [Feature] Visual-novel engine reverse engineering: archives, scripts, dialogue trees, flags and route reconstruction
  • #3700 — [Feature] Modular multiplayer resource package reverse engineering: fxmanifest, client/server/shared scripts, NUI webviews, events and native call graphs
Originally created by @matbrgz on GitHub (Oct 14, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/3698 [![Type: Tracker](https://img.shields.io/badge/type-tracker-purple.svg?style=flat-square)](https://github.com/morluto/rea) [![Status: Proposed](https://img.shields.io/badge/status-proposed-blue.svg?style=flat-square)](https://github.com/morluto/rea) [![Ecosystem: REA](https://img.shields.io/badge/ecosystem-morluto%2Frea-8A2BE2.svg?style=flat-square)](https://github.com/morluto/rea) ### Scope & Strategic Vision Interactive entertainment applications, simulations, and virtual worlds represent some of the most complex software architectures in existence. They combine high-performance native engines, multi-layer container archives, domain-specific virtual machines, declarative entity-component models, custom binary network protocols, and deeply interconnected asset pipelines. Rather than treating these targets with ad-hoc unpackers, REA's objective is to establish a rigorous, modular, and reusable **Asset and Runtime Reverse Engineering Platform**. By separating core foundations (scripting VMs, container formats, protocol forensics) from specific runtime profiles, a small set of shared parsers powers hundreds of diverse titles, virtual worlds, and modification ecosystems. ### Strict Non-Goals & Responsible Use All capabilities developed under this initiative adhere to strict principles of passive, offline reverse engineering: - **Offline / Static Analysis Only**: Analysis operates exclusively on static local files, archives, and user-provided fixtures. - **No Anti-Cheat or DRM Bypass**: REA will not include bypass mechanisms for anti-cheat drivers, obfuscated integrity checks, license enforcement, or commercial DRM layers. Encrypted assets with missing keys are marked as `encrypted/inaccessible`. - **Authorized Network Captures Only**: Protocol analysis operates strictly on offline `.pcap` or user-recorded session files; no active probing, server scanning, packet injection, or botting functionality. ### Architectural Breakdown ```mermaid flowchart TD A["Asset and Runtime Reverse Engineering Architecture"] --> B["Tier 1: Shared Scripting VMs & Bytecodes"] A --> C["Tier 2: Container Archives & Virtual Filesystems"] A --> D["Tier 3: Object Reflection, Physics & Behavior Graphs"] A --> E["Tier 4: Network Protocol Forensics & Framing"] A --> F["Tier 5: Engines & Application Runtimes"] B --> B1["Lua 5.1-5.4 & LuaJIT Bytecode (#3699)"] B --> B2["Papyrus PEX Bytecode (#3706)"] B --> B3["YSC GTA Script Bytecode (#3701)"] B --> B4["Compiled LUB Bytecode (#3707)"] C --> C1["RPF Containers & Resource Headers (#3701)"] C --> C2["VPK, BSP & Lump File Tables (#3705)"] C --> C3["MPQ / CASC Storage & DB2 Tables (#3704)"] C --> C4["ESM/ESP Plugins & FormID Trees (#3706)"] C --> C5["GRF (#3707), OTB/OTBM (#3708), KPKA (#3709)"] C --> C6["CAT/CAS Super-bundles (#3710), CR2W (#3711)"] C --> C7["Anvil .mca (#3702), Bedrock .mcworld (#3703)"] D --> D1["HKX Animation, Physics & Ragdolls (#3712)"] D --> D2["RSZ Reflection & Typed Object Trees (#3709)"] D --> D3["EBX Hierarchies & Super-Bundles (#3710)"] D --> D4["XNB Type Reader Descriptors & Meshes (#3713)"] E --> E1["MMO Framing, Tile-Grid Packets & Schemas (#3708)"] F --> F1["Unity Engine Recovery (#3607, #3784)"] F --> F2["Unreal Engine UAsset & Blueprint (#3625)"] F --> F3["Godot PCK, GDScript & Signals (#3631, #3633)"] F --> F4["GameMaker GML Bytecode & Rooms (#3632)"] F --> F5["Ren'Py & Visual Novel Engines (#3648, #3683)"] F --> F6["RPG Maker (#3647), Clickteam (#3649), Construct (#3650)"] F --> F7["FiveM & Multiplayer Packages (#3700)"] ``` --- ## Complete Tracked Issues Index ### 1. Scripting Virtual Machines & Bytecode - [ ] #3699 — `[Feature] Lua and LuaJIT bytecode reverse engineering: chunks, prototypes, fastcall opcodes, CFG and source reconstruction` - [ ] #3706 — `[Feature] Modular plugin and master archive reverse engineering: ESM/ESP/ESL record hierarchies, BSA/BA2 containers, FormID references and Papyrus PEX bytecode` - [ ] #3701 — `[Feature] RPF archive and resource reverse engineering: RPF7/RPF8 containers, RSC headers, YSC script bytecode, YDR/YFT models and YTD texture dictionaries` - [ ] #3707 — `[Feature] GRF archive and sprite format reverse engineering: .grf containers, GND/GAT navigation meshes, RSW scenes, SPR/ACT animations and compiled LUB scripts` ### 2. Container Archives & Virtual Filesystems - [ ] #3701 — `[Feature] RPF archive and resource reverse engineering: RPF7/RPF8 containers, RSC headers, YSC script bytecode, YDR/YFT models and YTD texture dictionaries` - [ ] #3702 — `[Feature] Anvil world container and NBT reverse engineering: .mca chunk regions, level.dat, compound tags, datapacks and modloader metadata graphs` - [ ] #3703 — `[Feature] Mobile world container reverse engineering: .mcworld, .mcpack, .mcaddon packages, Molang expressions, behavior schemas and Script API graphs` - [ ] #3704 — `[Feature] MPQ and CASC hybrid storage reverse engineering: DBC/DB2 tables, WDT/ADT world maps, M2 models, BLP textures and TOC addon graphs` - [ ] #3705 — `[Feature] VPK archive and BSP map reverse engineering: VPK containers, BSP lump entities, VTF/VMT materials, MDL/VVD/VTX meshes and KV3 object graphs` - [ ] #3706 — `[Feature] Modular plugin and master archive reverse engineering: ESM/ESP/ESL record hierarchies, BSA/BA2 containers, FormID references and Papyrus PEX bytecode` - [ ] #3707 — `[Feature] GRF archive and sprite format reverse engineering: .grf containers, GND/GAT navigation meshes, RSW scenes, SPR/ACT animations and compiled LUB scripts` - [ ] #3708 — `[Feature] 2D tile-grid MMO asset reverse engineering: OTB/OTBM binary maps, versioned sprite catalogs, client UI modules and packet framing schemas` - [ ] #3709 — `[Feature] KPKA container and RSZ serialization reverse engineering: KPKA archives, RSZ object reflection graphs, PFB prefabs, SCN scenes and texture dictionaries` - [ ] #3710 — `[Feature] CAT/CAS container and EBX object reverse engineering: CAT/CAS chunk storage, TOC/SB super-bundles, EBX typed reflection trees and RES resource graphs` - [ ] #3711 — `[Feature] CR2W and RED4 resource container reverse engineering: CR2W chunk trees, RTTI reflection tables, compiled script bytecodes and entity component graphs` ### 3. Object Reflection, Physics & Asset Pipelines - [ ] #3712 — `[Feature] HKX binary packfile and tagfile reverse engineering: reflection metadata, skeleton hierarchies, ragdoll constraints and behavior animation graphs` - [ ] #3713 — `[Feature] XNB Content Pipeline reverse engineering: XNB type reader descriptors, compressed textures, sprite fonts, audio streams and 3D mesh assets` - [ ] #3609 — `[Feature] Video Reverse Engineering: Deconstruct rendered video artifacts into editing timelines, visual effects, motion tracking, and audio stems` - [ ] #3611 — `[Feature] Music and Sound Effects Reverse Engineering: Deconstruct audio into multitrack stems, polyphonic MIDI, synth patches, and DSP effect chains` ### 4. Engine Deconstruction & App Runtimes - [ ] #3607 — `[Feature] Comprehensive Unity extraction and reverse engineering: IL2CPP metadata recovery, Mono CIL decompilation, and serialized asset analysis` - [ ] #3784 — `[Feature] Read-only inventory of Unity IL2CPP global-metadata.dat (first slice of #3607)` - [ ] #3625 — `[Feature] Unreal Engine reverse engineering: Pak/IoStore, UAsset reflection, and Blueprint bytecode reconstruction` - [ ] #3631 — `[Feature] Godot reverse engineering: PCK unpacking, scene/resource deserialization, GDScript bytecode decompilation, and signal graph reconstruction` - [ ] #3632 — `[Feature] GameMaker reverse engineering: data.win, GML bytecode, objects/events, and room reconstruction` - [ ] #3647 — `[Feature] RPG Maker reverse engineering: RGSS/Ruby Marshal, MV/MZ JavaScript, maps/events, plugins and encrypted asset reconstruction` - [ ] #3648 — `[Feature] Ren'Py reverse engineering: RPA archives, RPYC compiled scripts, screens/ATL, labels and route reconstruction` - [ ] #3649 — `[Feature] Clickteam Fusion reverse engineering: MFA/CCN/EXE packages, event sheets, objects/extensions and runtime graph reconstruction` - [ ] #3650 — `[Feature] Construct 2/3 reverse engineering: runtime bundles, event sheets, object behaviors and JavaScript/WASM reconstruction` - [ ] #3683 — `[Feature] Visual-novel engine reverse engineering: archives, scripts, dialogue trees, flags and route reconstruction` - [ ] #3700 — `[Feature] Modular multiplayer resource package reverse engineering: fxmanifest, client/server/shared scripts, NUI webviews, events and native call graphs`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#1410
No description provided.