# rev-u3d-dump

Recovers C# method names and addresses from Unity IL2CPP builds on iOS and Android, then produces import scripts for IDA and Ghidra.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1800 installs · ★ 2314
- Author: P4nda0s
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/P4nda0s/reverse-skills/tree/HEAD/skills/rev-u3d-dump/SKILL.md
- Updated: 2026-05-06
- HTML: https://affpapa.org/en/nevibecode/skills/rev-u3d-dump

## What it does

IL2CPP turns C# into native code, so class and method names vanish from the binary. They survive inside `global-metadata.dat`. This skill walks through the whole job: where the binary and metadata sit in an IPA or APK, how to read the metadata version from the first bytes, and which tool handles that version.

Metadata v39 and Unity 6 need the `v39` branch of the `roytu/Il2CppDumper` fork. The original `Perfare/Il2CppDumper` stops at v29. Build with `dotnet build -c Release` and run with `DOTNET_ROLL_FORWARD=LatestMajor`, because a project targeting .NET 6/8 will not start on a newer runtime without it. Output includes `script.json` with function addresses, `dump.cs` with RVA values, `il2cpp.h` structs and `ida_py3.py`.

Exit code 134 in non-interactive mode is expected — the dump already finished. Exit code 137 on macOS means the system killed the binary, and `codesign -s -` is what gets it running. An empty output directory usually points to a binary and metadata file taken from different builds, so check the pair.

## Requirements
- Works with: Unity

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add P4nda0s/reverse-skills --skill rev-u3d-dump -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/rev-u3d-dump/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/rev-u3d-dump/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add P4nda0s/reverse-skills --skill rev-u3d-dump -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/rev-u3d-dump/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add P4nda0s/reverse-skills --skill rev-u3d-dump -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/rev-u3d-dump/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install P4nda0s/reverse-skills rev-u3d-dump
```

2. **Manually: put the files in place**
- File: `.github/skills/rev-u3d-dump/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add P4nda0s/reverse-skills --skill rev-u3d-dump -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/P4nda0s/reverse-skills --path skills/rev-u3d-dump
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/rev-u3d-dump/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add P4nda0s/reverse-skills --skill rev-u3d-dump -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/P4nda0s/reverse-skills/tree/HEAD/skills/rev-u3d-dump/SKILL.md

## When to use it
- restore C# method names inside a native Unity binary
- map function addresses back to their original classes
- build `script.json` for function renaming in IDA
- import type structs from `il2cpp.h` into a disassembler
- handle v39 metadata from a Unity 6 build

## Example prompts
- Dump the symbols from `libil2cpp.so` and `global-metadata.dat` in this APK and write `script.json` for IDA
- Check the metadata version in `global-metadata.dat` and tell me which Il2CppDumper to use
- Generate a Ghidra import script for this Unity build

## Similar
- [orbit-card](https://affpapa.org/en/nevibecode/skills/orbit-card.md) — skill · 10000 installs
- [cad](https://affpapa.org/en/nevibecode/skills/cad.md) — skill · 14000 installs
- [step-parts](https://affpapa.org/en/nevibecode/skills/step-parts.md) — skill · 11200 installs
- [sdf](https://affpapa.org/en/nevibecode/skills/sdf.md) — skill · 10500 installs
- [urdf](https://affpapa.org/en/nevibecode/skills/urdf.md) — skill · 10500 installs
- [hatch-pet](https://affpapa.org/en/nevibecode/skills/hatch-pet.md) — skill · 3300 installs

From the same set: [p4nda0s/reverse-skills](https://affpapa.org/en/nevibecode/by/p4nda0s/reverse-skills.md) — 7 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
