본문으로 건너뛰기
cccskills
무료GitHub에 공개

reverse-engineering

Inspect game code, data files, live memory, and graphics captures to understand the internals needed for a mod. Choose tools for the game’s technology, document findings, and validate unknown file formats by decoding and re-encoding them.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Read how a game actually works so a mod can hook it. Decompile .NET/Mono (ILSpy), IL2CPP (Cpp2IL, Il2CppDumper), Java (Vineflower) and native code (Ghidra, IDA, via MCP servers); dump data and asset formats; reverse-engineer a binary file format and prove it with a round trip; read live memory (Cheat Engine, Frida, x64dbg); find render passes (RenderDoc). Use when a mod needs game internals, e.g. "how does the boss AI work", "find the damage function", "what format is this .sld/.pak/.dat", "where is the player position in memory".

설치 방법 보기

이럴 때 유용합니다

  • Finding boss behavior or damage calculations
  • Investigating an undocumented game file format
  • Locating player coordinates in live memory
  • Finding where to insert graphics or effects

포함된 파일(3)

  • SKILL.md6.3 KB
  • references/ue3-packages/README.md3.2 KB
  • references/ue3-packages/unpack_upk.py5.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Reverse engineering for mods

Rule zero: read the real thing, don't guess. Decompiled code, the actual data, a live memory view or a GPU capture is the spec. Write what you learn into MODLOG.md (names, IDs, offsets, formats) as you go.

Keep all decompiled output and extracted assets outside the mod repo (e.g. ~/<game>-decomp/) and never publish them. Single-player, offline or servers the user runs. Never attach debuggers or scanners to games with anti-cheat (see skills/mod-any-game/references/safety.md).

Pick the tool by what the code is (um scan tells you)

Managed .NET (XNA/FNA, Unity Mono, most indie C#)

  • dotnet tool install -g ilspycmd, then ilspycmd -p -o ~/<game>-decomp <Game>.exe (or Assembly-CSharp.dll). This gives a full C# project you can grep.
  • dnSpyEx: step through with a debugger, set breakpoints, edit methods.
  • MCP: ILSpy-MCP / dnspy-mcp let an agent query types and methods directly.

Unity IL2CPP

  • Cpp2IL (or Il2CppDumper) on GameAssembly.dll + global-metadata.dat gives types, fields, method signatures and addresses, plus dummy DLLs for ILSpy.
  • Method bodies are native: load GameAssembly.dll in Ghidra/IDA and apply the generated script to name functions.
  • Live: UnityExplorer, or il2cpp-frida-mcp.

Java (Minecraft, Slay the Spire...) Vineflower / CFR / Recaf. For Minecraft, use Loom genSources with Mojang mappings.

Native C/C++ (custom engines, Unreal game code, console recomps)

  • Ghidra (free) or IDA, driven through MCP so the agent can decompile, rename, retype and follow cross-references:
    • Ghidra: GhidraMCP (LaurieWired), pyghidra-mcp (headless, with a run-script tool; code-capable tools beat hundreds of tiny ones), ReVa.
    • IDA: the official Hex-Rays IDA MCP (IDA 9.4+ Pro/Home; "code mode" runs IDAPython), or ida-pro-mcp.
    • Binary Ninja and radare2 have MCP servers too.
  • Workflow:
    1. Strings, then cross-references, then the function.
    2. Name and type everything you understand. Renames accumulate into a readable program.
    3. Confirm dynamically (below) before building on a guess. Agents can confidently misidentify things.
  • Unreal: dump the reflection data first (UE4SS dumper or Dumper-7); it names most gameplay classes and properties for free.

Dynamic / live

  • Cheat Engine: value scans → "find out what writes to this address" → struct → owner. CheatEngine MCP servers exist.
  • x64dbg: breakpoints and tracing (x64dbg-mcp; bind it to 127.0.0.1, since some default to 0.0.0.0).
  • Frida (frida-mcp, frida-game-hacking-mcp): hook functions from JavaScript, log arguments.
  • ReClass.NET rebuilds structs from live memory.

Graphics

  • RenderDoc (renderdoc-mcp) captures a frame and shows every draw, the render targets, the constant buffers (view/projection matrices) and the depth buffer.
  • That's how you find where to inject geometry or effects (mashup-mods), and which texture holds a sprite atlas.

Data files and asset formats

Use the community tool first:

  • Unity: UABEA, AssetRipper
  • Unreal: FModel, UAssetGUI
    • Fully compressed UE3 .upk (UELib shows Exports=0): unpack a copy with Gildor's decompress (from UE Viewer), or, for LZO packages, with unpack_upk.py.
  • Bethesda: xEdit, BSArch
  • GameMaker: UndertaleModTool
  • Genie: genieutils
  • Source: VRF, Crowbar
  • FromSoft: WitchyBND, Smithbox
  • Godot: GDRE Tools

Before reversing a format yourself, search the community archives. Most game formats from the 2000s and 2010s were worked out there:

Use them for format knowledge and tools, whatever its origin (betas, leaked SDKs). Don't download game files, leaked code, SDKs or license keys from them.

For an undocumented format:

  1. Collect several stock files. Compare sizes, and hex-dump the headers (xxd | head). Look for magic numbers, counts, offsets and tables of fixed-size records.
  2. Form a hypothesis for the header, then the frame/record layout, then the compression. Check it by parsing every stock file without errors.
  3. Write a reader that decodes to something viewable (PNGs, JSON) and look at it.
  4. Write the writer, and prove it with a round trip: decode → encode → decode, compared against the original. The AoE2 SLD sprite writer was accepted only when it round-tripped the stock knight at 0.9/255 mean error (examples/aoe2-de-civ/sld.py).
  5. Only then write new files. Test them in game with one asset before batch-converting.

Make it an oracle

  • Engine logic you port (for a simulator, a trainer, a reimplementation): record real traces from the game (positions, velocities per tick) and replay them against your port. In the Terraria Eye of Cthulhu work, the Eye's velocity matched 99.9% once the port used the action applied on frame t+1. Float32 constants mattered too (0.2f ≠ 0.2). A leftover mismatch was traced to a hidden buff (Happy!, x1.21 move speed). Replays find what reading the code misses.
  • For long RE runs:
    • a journal file;
    • small verified steps;
    • cap attempts per problem (about 3 identical failures, then change approach);
    • commit every confirmed fact.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Prepare generated or hand-drawn artwork for a game's required file layout, dimensions, colors, and transparency. Create sprite sheets, assemble animation frames, and render 3D models into consistent views for use as game images.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Prepare artwork for a game's required sprite dimensions
  • Assemble animation frames into a sprite sheet
  • Render a 3D unit from multiple directions
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

Create game assets through fal.ai, including sprites, textures, 3D models, sound effects, music, voices, and video clips. Guides consistent visual variations, file conversion, model selection, and generation records so assets can be traced and regenerated.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create transparent sprites and icons for a mod
  • Generate seamless textures and material maps
  • Build and rig a 3D character from an image
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

Launch and control a real game to verify mods through screenshots and logs. Automate menus, keyboard and mouse input, and repeatable test scenes, with guidance for connecting an agent to game state through a JSON bridge.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Verify a mod inside the running game
  • Automate menu navigation and keyboard or mouse input
  • Build a repeatable test or demo scene
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

Investigate an installed game before making a mod. Identify its engine, available mod loaders, save locations, anti-cheat protection, and compatibility issues, then record a practical approach and unresolved questions in MODDING_PLAN.md.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check whether an installed game can be modded
  • Identify a game's engine and available mod loaders
  • Investigate Windows game compatibility on macOS or Linux
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

Research game modding methods and tools across public websites and archived pages. Recover information from dead forum links, compare reports, and produce findings with source URLs, version details, credibility notes, and clearly identified gaps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find earlier modding work for a game
  • Recover information from dead forum links
  • Check reports about a tool's supported versions
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

Build mods that combine content or gameplay from different games. Choose between content ports, two games exchanging data, embedded game engines, or rewritten rules, with clear integration plans and checks against the original behavior.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Bring an enemy or weapon from one game into another
  • Connect two running games through shared state
  • Rebuild another game's rules inside a host game
rehan-remade/universal-modder8.4천2026년 10월 19일 업데이트

rehan-remade의 스킬 모두 보기

이 스킬의 문제 신고