Milestone Preview: 2022.1.0 #17
Pre-release
Pre-release
SamboyCoding
released this
19 Aug 12:49
·
67 commits
to development
since this release
Cpp2IL Command Line
- Fixed more trimming issues which caused plugins, especially the stripped code reg plugin, to fail to load on the net7 builds.
Plugins
- Added a Control Flow Graph plugin which adds a
cfg
output format which allows writing.dot
graph files for all methods in the binary.
Cpp2IL.Core
- Added support for performing control-flow analysis of generated ISIL. This is the next big step in a working decompiler to IL. Huge thanks to @gompoc (this was #318)
- Optimized
IsilImmediateOperand.ToString
by avoiding exceptions as control flow. - Implemented more x86 -> ISIL conversions
- Added a block processing layer system that works in tandem with the control flow graph analysis system. Currently, strings, unambiguous method calls, and type metadata are resolved via this system.
- Fixed a bug in the Arm64 instruction set which could lead to attempts to get the method body for some methods disassembling the entire remainder of the binary 4 bytes at a time. This manifested as the application getting stuck processing an assembly.
- Optimized the call analysis and native method detection processing layers to only get ISIL, instead of fully analyzing methods. Thanks to @ds5678 in #324.
LibCpp2IL
- Fixed an issue with multiple exported functions at the same address in Mach-O binaries. Thanks to @gabriel-nsiqueira in #316
- Fixed a thread safety issue in
Il2CppBinary.ReadPointerAtVirtualAddress
which could cause fields in structures to be corrupted when read from multithreaded code.