Releases: knah/Il2CppAssemblyUnhollower
v0.4.18.0
v0.4.17.1
This is a small feature update. Generated assemblies should be fully compatible with those generated by 0.4.16.x.
New features:
- PDB generator project (not bundled in release zip) - see README
- New CLI option
--add-prefix-to
to add Il2Cpp prefix to additional assemblies and namespaces to prevent conflicts with managed libs. - 0.4.17.1 - strip Optional attribute off unstripped ICall delegates as Mono crashed on those
v0.4.17.0
This is a small feature update. Generated assemblies should be fully compatible with those generated by 0.4.16.x.
New features:
- PDB generator project (not bundled in release zip) - see README
- New CLI option
--add-prefix-to
to add Il2Cpp prefix to additional assemblies and namespaces to prevent conflicts with managed libs.
v0.4.16.2
This is a small bugfix and feature update. Generated assemblies should be mostly compatible with those generated by 0.4.15.x.
However, this version fixes a bug in deobfuscation map handling that can result in more things being renamed. This can lead to some breakage.
New features:
- Interface implementations for injected classes (contributed by @HookedBehemoth in #71). See README for more details
- Delegate types get generated operators + and - for easier handling of delegate-typed fields (contributed by @HookedBehemoth).
Changes:
- Fixed field and enum field renames from deobfuscation map not being applied
- Xref scanner now considers CMOVcc opcodes for string references
- Fixed deobfuscation map generator failing to run (it still generates bad maps for deobfuscated types though - some postprocessing is required)
- Fixed newer Unity versions failing due to wrong native struct description
- 0.4.16.1 - fixed binary compatibility of ClassInjector API (at the cost of breaking binary compatibility with 0.4.16.0)
- 0.4.16.2 - fixed invalid IL error when injecting methods returning non-primitive value types (contributed by @Kasuromi in #75)
v0.4.16.1
This is a small bugfix and feature update. Generated assemblies should be mostly compatible with those generated by 0.4.15.x.
However, this version fixes a bug in deobfuscation map handling that can result in more things being renamed. This can lead to some breakage.
New features:
- Interface implementations for injected classes (contributed by @HookedBehemoth in #71). See README for more details
- Delegate types get generated operators + and - for easier handling of delegate-typed fields (contributed by @HookedBehemoth).
Changes:
- Fixed field and enum field renames from deobfuscation map not being applied
- Xref scanner now considers CMOVcc opcodes for string references
- Fixed deobfuscation map generator failing to run (it still generates bad maps for deobfuscated types though - some postprocessing is required)
- Fixed newer Unity versions failing due to wrong native struct description
- 0.4.16.1 - fixed binary compatibility of ClassInjector API (at the cost of breaking binary compatibility with 0.4.16.0)
v0.4.16.0
This is a small bugfix and feature update. Generated assemblies should be mostly compatible with those generated by 0.4.15.x.
However, this version fixes a bug in deobfuscation map handling that can result in more things being renamed. This can lead to some breakage.
New features:
- Interface implementations for injected classes (contributed by @HookedBehemoth in #71). See README for more details
- Delegate types get generated operators + and - for easier handling of delegate-typed fields (contributed by @HookedBehemoth).
Changes:
- Fixed field and enum field renames from deobfuscation map not being applied
- Xref scanner now considers CMOVcc opcodes for string references
- Fixed deobfuscation map generator failing to run (it still generates bad maps for deobfuscated types though - some postprocessing is required)
- Fixed newer Unity versions failing due to wrong native struct description
v0.4.15.4
This is a small bugfix update. Generated assemblies should be compatible with those generated by 0.4.15.3.
Changes:
- Support DefaultMemberAttribute as generated by Cpp2IL (as opposed to Dumper's AttributeAttribute)
v0.4.15.3
v0.4.15.2
v0.4.15.1
This is a small bugfix update. Generated assemblies should be mostly compatible with those generated by 0.4.14.0.
Some external tools that relied on native struct definitions might break though - some structs were moved to used the wrapper model.
Changes:
- Generic structs are now always (correctly) generated as non-blittable
- Rewrote native struct handling to enable easy support of different Unity versions.
- This release should, in theory, support all Unity versions from 2017.1.0 to 2020.2.x and perhaps even above. However, bugs are still a thing.
- The base of this was contributed by @ghorsington in #35
- Some fixes and improvements here were contributed by @ds5678 (#39)
- Added
Il2CppObjectBase.WasCollected
(contributed by @ds5678 in #37) - Added basic support for loading custom components (of injected types) from assetbundles (contributed by @ds5678 in #38)
- Added an overload of
Il2CppType.Of
method that doesn't throw exceptions for non-found types (contributed by @ds5678 in #36) - Field writes now use
il2cpp_gc_wbarrier_set_field
if it exists in GameAssembly