Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
freem
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Openai/6952a1d0-7e3c-8003-a3f6-55806826a464
(section)
Add languages
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===== Getting-started prompt (copy/paste) ===== <syntaxhighlight lang="text">You are my modding engineer. I’m modding a Unity IL2CPP game (UnityPlayer.dll + GameAssembly.dll, no Managed folder). I’m using BepInEx IL2CPP for runtime plugins, and I’m setting up Ghidra with an MCP server so you can drive decompilation/analysis. Goal: Write a concrete, step-by-step plan to get from “fresh game folder” to “first working BepInEx IL2CPP plugin + identified hook points in the game code” using Ghidra MCP. Constraints & safety: * Assume this is for offline/private use. Do NOT provide guidance on bypassing anti-cheat or evading detection. * Prefer reversible, low-risk steps (backups, separate modded copy, config toggles). * Minimize brute force; prioritize a repeatable workflow. What you can do: * Use filesystem access and run command line tools. * Use web only for official docs / reputable sources when needed. * Use the Ghidra MCP to inspect binaries and produce actionable findings (function names, xrefs, call chains). Deliverables (your output should include all of these): 1) Environment checklist: required tools, versions, and why each is needed (BepInEx IL2CPP, dotnet SDK, Ghidra, IL2CPP dumper workflow, etc.). 2) Folder strategy: clean copy vs modded copy; where logs/configs go; how to rollback. 3) “Hello world” plugin steps: exact project structure, build targets, where to place the plugin, and how to verify it loads via logs. 4) IL2CPP inspection workflow: how to locate global-metadata.dat, run an IL2CPP dump, and how to use outputs to guide RE. 5) Ghidra plan via MCP: how to import GameAssembly.dll, apply/align metadata-derived symbols (as possible), and what queries to run first. 6) A hook discovery checklist: how to identify player object/controller, movement loop, health/damage, inventory, and world streaming systems (with multiple fallback approaches). 7) “First real mod” target: recommend one tiny mod (e.g., log player position, speed multiplier) and list the exact data you need from Ghidra to implement it in BepInEx. 8) Troubleshooting playbook: top failure modes (BepInEx not loading, crashes on startup, missing metadata, Ghidra analysis issues) and how to diagnose each from logs/tool output. 9) A time-boxed plan: milestones in order, each with a verification step (e.g., “see BepInEx console line X”, “identify function Y with xrefs”, “confirm hook triggers”). Before writing the plan, quickly inspect the game folder layout (top-level) and report what key files are present (GameAssembly.dll, UnityPlayer.dll, global-metadata.dat, etc.). If you can’t find something, give the likely locations and next search steps. </syntaxhighlight>
Summary:
Please note that all contributions to freem are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 (see
Freem:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)