universal-asset-ripper
Detects Delphi applications and extracts Delphi .dfm form resources from Windows PE files.
Enables extraction from Electron applications, including app.asar archives and Chromium resources.pak files.
Detects .NET applications and supports IL2CPP metadata analysis via Cpp2IL for Unity games.
Provides detection and asset extraction for Unity games, including IL2CPP global-metadata.dat analysis and export via AssetRipper headless web mode.
Supports Unreal Engine PAK and IoStore container inspection and extraction, including native .pak index parsing, AES-256 decryption, and categorized asset extraction.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@universal-asset-ripperdetect engine and extract all textures from this game"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Universal Asset Ripper
๐ Overview
Universal Asset Ripper is an engine-agnostic extraction and binary reverse engineering platform designed for game developers, modders, and security researchers. It seamlessly bridges native binary format parsers with AI pair-programming agents via the Model Context Protocol (MCP) and integrates into an advanced software reverse engineering (SRE) toolchain.
Whether analyzing Godot archives, Unreal Engine IoStore/PAK containers, Unity IL2CPP metadata, or desktop Windows PE executables, Universal Asset Ripper provides lightning-fast heuristic detection, categorized asset inventories, targeted extraction, and deep binary entropy inspection for cryptographic keys.
Related MCP server: oic-docs
๐ฏ Features
๐ Automatic Engine & Framework Detection (
ripper detect) :Heuristics and signature analysis for Unity, Unreal Engine, Godot and Electron (engine
electronwhen anapp.asar/resources.paksits next to an Electron executable).Application framework detection (Delphi, .NET, Electron, Qt, Native C/C++); the PE framework info is kept in
details.framework.PE header architecture analysis (x86, x64, ARM64) and encryption flagging.
๐ฆ 100% Native Pure TypeScript Parsers :
Godot PCK : Zero-dependency parser for standalone
.pckpackages and embedded executables (GDPCmagic) supporting format versions 1 through 4.Unreal
.pakindex (v1-v11) : lists and extracts stored, Zlib and Gzip entries natively, with AES-256 (ECB) decryption of the index and of entries (--aes-key, hex with/without0xor base64). Oodle and other codecs, and anything the native reader cannot parse, fall back to therepakCLI.Electron :
app.asar(incl..unpackedfiles) and Chromiumresources.pak(v3/v4/v5, extracted asres_<id>.<ext>, extension guessed from magic numbers - heuristic).Godot encrypted PCK : directory and per-file AES-256-CFB decryption with the script encryption key (
--aes-key, 64 hex chars);--convertwrites.ctex/.stexthat wrap a plain PNG/WebP as images.Windows PE (.rsrc) : Complete multi-resolution
.icoicon reconstruction, Delphi.dfmform extraction, XML manifests, bitmaps, and rawRCDATA.
๐ Asset Manifest & Inspection (
ripper inspect) :Full cataloging across unified categories: textures, 3D meshes, audio, scenes, scripts, shaders, fonts, videos, and manifests.
โก Targeted Extraction (
ripper extract) :Category filtering (
--categories texture,audio,mesh) and regex/glob filename filtering (--filter).AES-256 keys (
--aes-key <key>) for Unreal.pakand Godot PCK;--convertfor Godot textures; Unity export through AssetRipper headless web mode (ASSETRIPPER_PATH).
๐ค AI-Assisted Binary Analysis (
ripper rea-inspect) :The whole file is scanned in overlapping chunks; false positives are filtered (hex runs longer than 64, counting tables, low entropy, repeated blocks) and counts are reported honestly (
N candidates, showing M).--pak <file>verifies every candidate against an Unreal pak (verified keys first);--bundle <file>saves the evidence bundle;--jsonprints scan + bundle.Sliding-window Shannon entropy scanning to spot 256-bit encryption keys.
Proximity search around Rijndael S-Box lookup tables (
0x63, 0x7c, 0x77, 0x7b...).Header sniffing and version validation for Unity IL2CPP
global-metadata.dat.Automated generation of structured Evidence Bundles formatted for AI agents.
๐ Integrated Model Context Protocol (MCP) Server (
ripper mcp) :Exposes extraction, inspection, and scanning tools over standard I/O for Claude Code, Gemini CLI, Cursor, and Antigravity.
๐จ Downstream Modding Pipeline Ready :
Feeds extracted assets and decrypted structures directly into generative game modding frameworks such as rehan-remade/universal-modder (fal.ai / ComfyUI asset replacement and in-game testing).
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Universal Asset Ripper โ
โ (CLI & MCP stdio Server) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ
[ EngineDetector Engine ] [ ReaBridge & AI Hub ]
(Unity, Unreal, Godot, Electron, PE) (BinaryScanner, Shannon Entropy,
โ AES-256 discovery, Evidence)
โโโโโโโโโโโโโโผโโโโโโโโโโโโโฌโโโโโโโโโโโโโ โ
โผ โผ โผ โผ โโโโโโโโโโโโโโผโโโโโโโโโโโโโ
[ Godot ] [ Unreal ] [ Unity ] [ PE Soft. ] โผ โผ โผ
Adapter Adapter Adapter Adapter [ Ghidra ] [ Cpp2IL ] [ Frida ]
(Native (repak / (AssetRipper (Resource (Native SRE (IL2CPP -> (Runtime
PCK reader) CUE4Parse) CLI bridge) Extractor) Decompiler) C# .NET) Hooking)๐ Installation & Quick Start
Prerequisites
Node.js >= 22.0.0
npm >= 10.0.0
Global CLI Installation
Clone and build the repository locally:
git clone https://github.com/laurentvv/universal-asset-ripper.git
cd universal-asset-ripper
npm install
npm run build
npm linkVerify your installation:
ripper --help๐ป CLI Usage
1. Detect Game Engine & Framework
Inspect any folder, game directory, or executable:
ripper detect "C:/Games/MyGame"
# Or point directly to an executable:
ripper detect "C:/Games/MyGame/MyGame.exe"2. Inspect Package Manifest
Display categorized file counts and size breakdowns without writing to disk:
ripper inspect "C:/Games/MyGame/game.pck"
# Encrypted Unreal pak index / Godot directory: pass the key
ripper inspect "PakChunk0.pak" --aes-key 0x4A6B... --json3. Extract Assets
Extract all assets or filter by specific categories:
# Full extraction
ripper extract "C:/Games/MyGame" -o "./extracted"
# Extract only textures and audio files
ripper extract "C:/Games/MyGame" -o "./extracted" --categories texture,audio
# Extract Unreal PAK with AES key
ripper extract "C:/Games/MyGame/Content/Paks/PakChunk0.pak" -o "./extracted" --aes-key 0x4A6B...
# Godot: convert PNG/WebP-backed .ctex/.stex textures to images
ripper extract game.pck -o ./extracted --convert
# Electron app (app.asar and resources.pak)
ripper extract "C:/Apps/MyElectronApp" -o ./extracted
# Unity: needs AssetRipper.GUI.Free; set ASSETRIPPER_PATH (file or folder) or add it to PATH
ripper extract "C:/Games/UnityGame" -o ./extracted4. Deep Binary Inspection (AI Evidence Bundle)
Scan an executable for cryptographic keys, S-Box constants, and IL2CPP metadata:
ripper rea-inspect "C:/Games/MyGame/Game-Win64-Shipping.exe"
# Verify candidates against a pak, save the evidence bundle, machine-readable output
ripper rea-inspect Game-Win64-Shipping.exe --pak Content/Paks/PakChunk0.pak --bundle ./evidence.json
ripper rea-inspect Game-Win64-Shipping.exe --json # { scan, bundle }All commands accept --json (pure JSON on stdout).
Honest limitations
The native pak reader was written from the UE / repak format and tested against synthetic paks built by a test writer, not against commercial game archives. Pak v12+, IoStore (
.utoc/.ucas), Oodle and Zstd are not handled natively (IoStore is unsupported; Oodle goes throughrepak, which unpacks whole containers, so it cannot honour--categories/--filter).Godot encryption (AES-256-CFB, md5|size|iv|data) follows the engine source but is validated only against our own encryptor.
.ctexconversion lifts plain PNG/WebP payloads only (no WebP-to-PNG re-encoding, no VRAM-compressed textures).AssetRipper is driven through its headless web API (form field
Path); the endpoints are tested with a fake server only, and--categories/--filterare not supported for Unity.Electron: unpacked
resources/appfolders are not listed; Chromium.pakextension guessing is heuristic.Key verification with a plain (unencrypted) pak index can only probe an encrypted entry; otherwise candidates stay
unverifiable.
๐ค MCP Server Setup (AI Agents)
Universal Asset Ripper runs as a standard Model Context Protocol (MCP) server over stdio. It connects natively with Claude Code, Gemini CLI, Cursor, and Antigravity.
Add the server to your mcpServers configuration file:
{
"mcpServers": {
"universal-asset-ripper": {
"command": "node",
"args": ["C:/git/universal-asset-ripper/dist/cli/index.js", "mcp"]
}
}
}Restricting file access
By default the MCP tools accept any path. To confine an agent to specific folders, pass --root (repeatable) or set UAR_ALLOWED_ROOTS (path-delimited: ; on Windows, : elsewhere). Every targetPath, binaryPath, pakPath and outputDir must then resolve (symlinks followed) inside one of the roots, otherwise the call returns an error.
"args": ["C:/git/universal-asset-ripper/dist/cli/index.js", "mcp", "--root", "D:/Games", "--root", "D:/Extracted"]Tools Exposed to Agents
Tool Name | Description |
| Run heuristic analysis to detect the game engine, architecture, and container type. |
| Return a complete manifest of files with counts and sizes grouped by category. |
| Extract assets to disk with category filters and optional AES-256 decryption keys. |
| Run Shannon entropy scans, find AES keys (optional |
๐ฌ Reverse Engineering Ecosystem
Universal Asset Ripper forms the upstream reconnaissance and extraction hub within a comprehensive SRE toolchain:
Tool | Category | Specialty & Role in Pipeline |
Agentic SRE | Autonomous LLM agents consuming Evidence Bundles to plan reverse engineering steps. | |
Static SRE | Deep native disassembly and C pseudocode decompilation (x86/x64/ARM). | |
Unity IL2CPP | Reconstructs executable CIL (.NET) bytecode from | |
Android SRE | Dex-to-Java decompiler for unpacking APK/AAB packages, manifests, and JNI bridges. | |
Dynamic SRE | Runtime memory hooking to capture live AES keys and dump uncompressed asset buffers. | |
Modding Studio | Downstream mod injection, generative AI assets (fal.ai/ComfyUI), and in-game automated testing. |
๐ Technical Documentation
๐งช Testing
The test suite validates parser accuracy against synthetically generated binary containers (PE headers, Godot PCK archives, and AES memory blocks):
npm testCheck your environment (Node.js, repak, AssetRipper, rea) with ripper doctor (--json for machine-readable output).
๐ ๏ธ Development
npm ci # install
npm run lint # ESLint (flat config, typescript-eslint)
npx tsc --noEmit # type check
npm run build # compile to dist/
npm test # build + vitest
npm run test:coverage # vitest with v8 coverage
npm run clean # remove dist/ and coverage/CI (.github/workflows/ci.yml) runs lint, build and tests on Ubuntu and Windows with Node 22 and 24.
๐ License
MIT ยฉ Laurent VOLFF
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser-local and CLI static evidence for deployed AI model artifacts.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Package intelligence MCP for AI agents โ 22 tools, 19 ecosystems, AGPL SDK, free.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceProvides a deterministic pre-install security scan for Agent skills, plugins, and MCP servers via stdio, returning verdicts, audited badges, CI gates, and reports without executing code or making network calls.74 npmMIT- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to inspect Ignition gateway backups, project exports and tag exports locally and turn them into an editable engineering reference and manual pack workspace. Runs over stdio so agents can explain, validate and complete the evidence-traced documents without uploading anything.Apache 2.0
- AlicenseCqualityBmaintenanceEnables an AI agent to auto-detect a game's engine (Unity, Unreal, Godot, Java, or native) from its files and then inspect, search, and patch the underlying binaries with in-process PE analysis, hex editing, pattern scanning, string extraction, checksums, diffing, and disassembly. Everything runs locally and offline with no cloud dependency or telemetry.1010058 npm4MIT
- AlicenseNot gradedqualityBmaintenanceEnables any general-purpose agent to mod IL2CPP, Mono (.NET), and Unreal games by resolving hook targets from engine metadata rather than memory guessing. Provides 45 tools covering the full workflow of finding a game, indexing types/fields/methods, injecting a Frida probe, hooking methods, and reading or writing game memory.MIT