Skip to main content
Glama
Heretek-RE

re-il2cpp

by Heretek-RE

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_il2cppB

Read the metadata header and return version + per-table counts.

Args: metadata_path: optional path to global-metadata.dat. If empty, returns the server's status (no path is OK).

list_stringsA

Return strings from the unprotected C# symbol table.

Args: metadata_path: path to global-metadata.dat substring: if set, only return strings containing this case-sensitive substring limit: maximum number of results to return (default 500)

search_stringsA

Substring search of the C# symbol table.

Returns [{index, string}] matches. Useful for finding asset paths, save keys, or specific gameplay terms in the metadata.

Args: metadata_path: path to global-metadata.dat substring: case-sensitive substring to search for limit: maximum matches to return (default 50)

list_namespacesA

Return a sorted list of namespaces with class counts.

Scans the string table for class FQNs and buckets them by namespace. The class count is an upper bound (a FQN-shaped string might be a non-class entity, though rare).

Args: metadata_path: path to global-metadata.dat limit: maximum namespaces to return (default 200)

list_classesA

Return class FQNs from the string table.

Args: metadata_path: path to global-metadata.dat namespace: if set, only return classes whose FQN starts with namespace + "." (e.g. "UnityEngine") limit: maximum classes to return (default 500)

get_type_definitionsA

Walk the binary typeDefinitions table; return structured records.

Unlike list_classes (which harvests the string table for FQNs), this reads the actual record array and returns parent, type_index, method_count, field_count, etc. for each class.

Args: metadata_path: path to global-metadata.dat namespace: if set, only return typeDefs whose FQN starts with namespace + "." limit: maximum results (default 500)

get_methodsA

Return the methods of a class as a structured list.

Use this instead of search_strings for typed method discovery.

Args: metadata_path: path to global-metadata.dat class_fqn: fully qualified class name (e.g. "MyGame.PlayerController") limit: maximum methods to return (default 500)

get_fieldsC

Return the fields of a class as a structured list.

Args: metadata_path: path to global-metadata.dat class_fqn: fully qualified class name limit: maximum fields to return (default 200)

get_parametersA

Return the parameters of a method (in declaration order).

Args: metadata_path: path to global-metadata.dat method_fqn: "ClassName.MethodName" (e.g. "MyGame.PlayerController.TakeDamage") limit: maximum parameters to return (default 50)

get_propertiesB

Return the properties of a class.

Args: metadata_path: path to global-metadata.dat class_fqn: fully qualified class name limit: maximum properties to return (default 200)

get_eventsA

Return the events of a class.

Args: metadata_path: path to global-metadata.dat class_fqn: fully qualified class name limit: maximum events to return (default 200)

get_imagesA

Walk the binary images table; return assembly image records.

Each image corresponds to one IL2CPP assembly (e.g. Assembly-CSharp.dll, UnityEngine.CoreModule.dll). The name field is the assembly file name; the type_count is the size of the typeDef range owned by this image.

Args: metadata_path: path to global-metadata.dat

get_assembly_typesA

Enumerate every type in one IL2CPP assembly.

Unlike :func:list_classes (which scans the string table and misses root-namespace types), this walks the typeDef range owned by a specific image — use it to enumerate the publisher's actual game code (Assembly-CSharp.dll) or a specific engine module (UnityEngine.CoreModule.dll).

Each record: {fqn, namespace, name, type_index, method_count, field_count, property_count, event_count, nested_type_count, parent_index, token, flags} — same shape as :func:get_type_definitions.

Args: metadata_path: path to global-metadata.dat image_name: assembly file name (e.g. "Assembly-CSharp.dll") limit: maximum results

resolve_method_rvaA

Resolve a method FQN to its GameAssembly.dll RVA.

Walks the global-metadata.dat typeDef/method tables to find the method, then parses GameAssembly.dll to look for the s_Il2CppCodeRegistrations global. If the binary is non-stripped and contains the registration symbols, the pointer table's RVA is reported. If the binary is stripped (the default for shipped Unity games), the function returns rva_status="binary_stripped" plus the IL2CPP mangled name to use with re-rizin.search_bytes.

Requires pip install lief (an optional dep — install via pip install re-il2cpp[rva]).

Args: metadata_path: path to global-metadata.dat gameassembly_path: path to GameAssembly.dll method_fqn: "Namespace.ClassName.MethodName"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Heretek-RE/re-il2cpp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server