Selene is a high-performance IL2CPP Auto-Mapper plugin for IDA Pro. It facilitates the reverse engineering of IL2CPP-compiled binaries by automating the recovery of function names, string literals, and type information using global-metadata.dat.
- Automated Mapping: Discovery and renaming of IL2CPP methods using metadata.
- String Literal Recovery: Scans and creates string literals in the IDA database with cross-reference analysis.
- Type Information: Identifies type definitions and prepares structures for manual refinement.
- Advanced Configuration: Customizable string length limits, verbose logging, and cross-reference comments.
- JSON Export: Export mapping results to JSON for use in external tools.
- IL2CPP Version Detection: Automatic detection and validation of the IL2CPP metadata version.
You can download the pre-compiled plugin DLL from the Releases page. Simply place the DLL in your IDA plugins folder.
- IDA C++ SDK 9.0
- C++17 compatible compiler (MSVC)
- CMake (recommended) or
nmake/make
- Clone the repository.
- Build the project.
- Copy the resulting binary (
.dllor.so) to your IDApluginsfolder.
- Open an IL2CPP-compiled binary in IDA Pro.
- Select Edit > Plugins > IL2CPP Auto-Mapper or use the shortcut
Ctrl+Shift+I. - Provide the path to the
global-metadata.datfile when prompted. - (Optional) Configure settings such as maximum string literals or xref comments in the configuration dialog.
Selene works by parsing the Il2CppGlobalMetadataHeader and subsequent tables in the metadata file. It employs binary pattern matching and cross-reference analysis to link metadata definitions with their corresponding locations in the binary.
This project is licensed under the GNU General Public License v3.0.