Il2CppInspector CLI by djkaty compiled for macOS and Linux


Execute Il2CppInspector via command line on macOS or Linux


Note for macOS:

This also works on Apple M1/Silicon computers.

If you got permission denied, please run this command

chmod +x Il2CppInspector

Then you can execute Il2CppInspector



Basic example

./Il2CppInspector -i (binary file) -m (metadata)


  -i, --bin                   (Default: IL2CPP binary, APK, AAB, XAPK, IPA, Zip or Linux process map text input file(s) (single file or comma-separated list for split APKs)


  -m, --metadata              (Default: global-metadata.dat) IL2CPP metadata file input (ignored for APK/AAB/XAPK/IPA/Zip)


  --image-base                For ELF memory dumps, the image base address in hex (ignored for standard ELF files and other file formats)


  --select-outputs            Only generate outputs specified on the command line (use --cs-out, --py-out, --cpp-out, --json-out, --dll-out to select outputs). If not specified, all outputs are generated


  -c, --cs-out                (Default: types.cs) C# output file (when using single-file layout) or path (when using per namespace, assembly or class layout)


  -p, --py-out                (Default: Python script output file


  -h, --cpp-out               (Default: cpp) C++ scaffolding / DLL injection project output path


  -o, --json-out              (Default: metadata.json) JSON metadata output file


  -d, --dll-out               (Default: dll) .NET assembly shim DLLs output path


  --metadata-out              IL2CPP metadata file output (for extracted or decrypted metadata; ignored otherwise)


  --binary-out                IL2CPP binary file output (for extracted or decrypted binaries; ignored otherwise; suffixes will be appended for multiple files)


  -e, --exclude-namespaces    (Default: System Mono Microsoft.Reflection Microsoft.Win32 Internal.Runtime Unity UnityEditor UnityEngine UnityEngineInternal AOT JetBrains.Annotations) Comma-separated list of namespaces to suppress in C# output, or 'none' to include all namespaces


  -l, --layout                (Default: single) Partitioning of C# output ('single' = single file, 'namespace' = one file per namespace in folders, 'assembly' = one file per assembly, 'class' = one file per class in namespace folders, 'tree' = one file per class in assembly and

                              namespace folders)


  -s, --sort                  (Default: index) Sort order of type definitions in C# output ('index' = by type definition index, 'name' = by type name). No effect when using file-per-class or tree layout


  -f, --flatten               Flatten the namespace hierarchy into a single folder rather than using per-namespace subfolders. Only used when layout is per-namespace or per-class. Ignored for tree layout


  -n, --suppress-metadata     Diff tidying: suppress method pointers, field offsets and type indices from C# output. Useful for comparing two versions of a binary for changes with a diff tool


  --suppress-dll-metadata     Diff tidying: suppress method pointers, field offsets and type indices attributes from DLL output. Useful for comparing two versions of a binary for changes


  -k, --must-compile          Compilation tidying: try really hard to make code that compiles. Suppress generation of code for items with CompilerGenerated attribute. Comment out attributes without parameterless constructors or all-optional constructor arguments. Don't emit

                              add/remove/raise on events. Specify AttributeTargets.All on classes with AttributeUsage attribute. Force auto-properties to have get accessors. Force regular properties to have bodies. Suppress global::Locale classes. Generate dummy parameterless

                              base constructors and ref return fields.


  --separate-attributes       Place assembly-level attributes in their own AssemblyInfo.cs files. Only used when layout is per-assembly or tree


  -j, --project               Create a Visual Studio solution and projects. Implies --layout tree, --must-compile and --separate-attributes


  --cpp-compiler              (Default: BinaryFormat) Compiler to target for C++ output (MSVC or GCC); selects based on binary executable type by default


  -t, --script-target         (Default: IDA) Application to target for Python script output (IDA or Ghidra) - case-sensitive


  --unity-path                (Default: C:\Program Files\Unity\Hub\Editor\*) Path to Unity editor (when using --project). Wildcards select last matching folder in alphanumeric order


  --unity-assemblies          (Default: C:\Program Files\Unity\Hub\Editor\*\Editor\Data\Resources\PackageManager\ProjectTemplates\libcache\com.unity.template.3d-*\ScriptAssemblies) Path to Unity script assemblies (when using --project). Wildcards select last matching folder in

                              alphanumeric order


  --unity-version             Version of Unity used to create the input files, if known. Used to enhance Python, C++ and JSON output. If not specified, a close match will be inferred automatically.


  --unity-version-from-asset  A Unity asset file used to determine the exact Unity version. Overrides --unity-version.


  --plugins                   Specify options for plugins. Enclose each plugin's configuration in quotes as follows: --plugins "pluginone --option1 value1 --option2 value2" "plugintwo --option...". Use --plugins <name> to get help on a specific plugin


  --help                      Display this help screen.


  --version                   Display version information.



Download links:


Do not forget to extract plugins folder too!


README page:


How to build:




Popular Posts

VMOS Pro Global/CN Free Custom ROMs | Android 4.4.4, 5.1.1, 7.1.2 | ROOT | Gapps | Xposed | (NO VIP NEEDED)

How to access /Android/obb directory on Android 11