Work-in-progress tool to reverse unity's IL2CPP toolchain.
LibCpp2IL
Cpp2IL.Core
Cpp2IL command-line application
Processing Layers
Output Formats
Please note that plugins are provided only for the non-netframework (platform-specific) versions of the application, and must be placed in a Plugins
directory next to the executable.
I should really learn to stop saying "this is the last release".
LibCpp2IL
Attribute Restoration
params
behavior.This is hopefully the last release in the 2022.0.x series to fix a few small issues and support Mach-O (MacOS) binaries.
Attribute Restoration
--simple-attribute-restoration
to perform poorly. It should be a lot faster now.Analysis
LibCpp2IL
Cpp2IL.Core
LibCpp2IL
unproductive
on Discord for reporting this!This is another pre-release build of the rewrite branch, which brings some big performance and correctness improvements, support for custom attributes on parameters (crucially, this brings support for params
arrays), and fixes some bugs.
General
LibCpp2IL
Core
params
arrays in methods, and closing #95. Thanks to @js6pak for pointing this out.Output Formats
null
was output in parameter and field definitions.Literally just a reupload of 2022.0.2 with a newer version number to trick ML 0.5.4 into "updating".
Ignore this.
This release is built against an in-development build of the upcoming 4.10.0 release of AsmResolver.DotNet, in case you are trying to build it yourself.
DummyDLL:
Attribute injector:
This is the first preview release of the rewrite. Considering I wanted to get this done by January, having an initial preview by Mid-March isn't ideal, but it's better than nothing.
It's not really possible for me to write changenotes here because so much has changed - but there's an attempt at a summary in the README of the development branch, which I recommend you read if you're curious.
Note that this release does not include any sort of analysis behavior, but it is, I believe, suitable for use with Il2CppAssemblyUnhollower.
It's also considerably faster (up to a 50% reduction in execution time) at doing the same tasks than any previous build.
Also note that the Linux builds have changed from net6-ubuntu to net6-linux.
This release is not published to nuget, but CI builds can be obtained from my nuget feed.
This is a minor bugfix and improvement release
WasmDisassembler
LibCpp2IL
LibCpp2ILMain.Reset()
to also dispose of the binary and metadata files and underlying streams.Cpp2IL.Core
Cpp2ILApi.ResetInternalState
to DisposeAndCleanupAll
and made it public, so you can clear out the memory usage (or at least, most of it, in the event I missed something) once you've finished using Cpp2IL.