Skip to content

docs: IL2CPP × Ghidra agent playbook - #16

Merged
Diphome merged 1 commit into
masterfrom
il2cpp-agent-playbook
Sep 12, 2026
Merged

Diphome merged 1 commit into
masterfrom
il2cpp-agent-playbook

Conversation

@Diphome

@Diphome Diphome commented Sep 12, 2026

Copy link
Copy Markdown
Owner

What

Adds docs/AGENT_GHIDRA_PLAYBOOK.md — an agent-facing guide for reversing an IL2CPP Unity game by combining the UnityRift MCP, the Ghidra MCP, and Frida together. Linked from the README and the MCP server reference.

Contents

  • Golden rules — generate once/reuse; the RVA↔VA address model (VA = image base + RVA, the TypeTree: read char per its declared byte size (fixes Font dumps) #1 mistake); UnityRift = source of truth for names/layout, Ghidra = where you apply them; apply names targeted, never blast the whole binary; verify constants/behaviour.
  • One-time setup — export → import binary → align image base → parse il2cpp_ghidra.h.
  • Core loop — find target → decompile → il2cpp_clean (symbolize + annotate) → resolve fields/enums/constants → persist into Ghidra via il2cpp_apply_plan + rename/retype → follow xrefs.
  • Runtime confirmation with il2cpp_frida + the Frida MCP.
  • Tool cheat-sheet and common mistakes.

Note

The playbook documents the full il2cpp tool surface, which includes the tools added in #15 (il2cpp_field / il2cpp_enum / il2cpp_frida / il2cpp_apply_plan, and il2cpp_clean's FUN_/DAT_ symbolization). Best merged after (or together with) #15; this PR is docs-only and touches no code. Edits to README.md / tools/mcp/README.md are on lines #15 doesn't touch, to avoid conflicts.

Agent-facing guide for reversing an IL2CPP Unity game by combining the UnityRift
MCP, the Ghidra MCP, and Frida: the RVA/VA address model, one-time setup, the core
decompile → clean/symbolize → resolve fields/enums/constants → apply-in-Ghidra loop,
runtime confirmation, a tool cheat-sheet, and common mistakes. Linked from README
and the MCP server reference.

Documents the full il2cpp tool surface, including the tools added in the
il2cpp-comprehension branch (il2cpp_field/enum/frida/apply_plan and clean's
FUN_/DAT_ symbolization).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Diphome
Diphome merged commit 6fc3a14 into master Sep 12, 2026
1 check passed
@Diphome
Diphome deleted the il2cpp-agent-playbook branch September 12, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant