Il2CppInspector CLI by djkaty compiled for macOS and Linux

1623851154617.png


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

 

Usage:

Basic example

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

 

  -i, --bin                   (Default: libil2cpp.so) 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: il2cpp.py) 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:

https://sbupload.com/folder/948/Il2CppInspector

 

https://app.box.com/s/zkipjqu2y022ezitazolldci0gwoq9tv

 

Do not forget to extract plugins folder too!

 

README page:

https://github.com/djkaty/Il2CppInspector/

 

How to build:

https://github.com/djkaty/Il2CppInspector#build-instructions

 

Credit:
djkaty

Popular Posts

[TOOL] Unity Assets Bundle Extractor

Il2CppDumper GUI Android App