Update README.md and assembly versions

This commit is contained in:
Katy Coe
2020-11-26 23:57:11 +01:00
parent 3f91fe0f66
commit c0f360e71f
4 changed files with 23 additions and 9 deletions

View File

@@ -8,7 +8,7 @@
<PublishTrimmed>true</PublishTrimmed> <PublishTrimmed>true</PublishTrimmed>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Version>2020.2</Version> <Version>2020.2.1</Version>
<Company>Noisy Cow Studios</Company> <Company>Noisy Cow Studios</Company>
<Product>Il2CppInspector Command-Line Edition</Product> <Product>Il2CppInspector Command-Line Edition</Product>
<Copyright>(c) 2017-2020 Katy Coe - www.djkaty.com - www.github.com/djkaty</Copyright> <Copyright>(c) 2017-2020 Katy Coe - www.djkaty.com - www.github.com/djkaty</Copyright>

View File

@@ -4,7 +4,7 @@
<TargetFramework>netstandard2.1</TargetFramework> <TargetFramework>netstandard2.1</TargetFramework>
<AssemblyName>Il2CppInspector.Common</AssemblyName> <AssemblyName>Il2CppInspector.Common</AssemblyName>
<Authors>Katy Coe</Authors> <Authors>Katy Coe</Authors>
<Version>2020.2</Version> <Version>2020.2.1</Version>
<Company>Noisy Cow Studios</Company> <Company>Noisy Cow Studios</Company>
<Product>Il2CppInspector Shared Library</Product> <Product>Il2CppInspector Shared Library</Product>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput> <TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>

View File

@@ -8,7 +8,7 @@
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<AssemblyName>Il2CppInspector</AssemblyName> <AssemblyName>Il2CppInspector</AssemblyName>
<Version>2020.2</Version> <Version>2020.2.1</Version>
<Authors>Katy Coe</Authors> <Authors>Katy Coe</Authors>
<Company>Noisy Cow Studios</Company> <Company>Noisy Cow Studios</Company>
<Product>Il2CppInspector Windows Edition</Product> <Product>Il2CppInspector Windows Edition</Product>

View File

@@ -1,4 +1,4 @@
# Il2CppInspector 2020.2.1 beta # Il2CppInspector 2020.2.1
Il2CppInspector helps you to reverse engineer IL2CPP applications, providing the most complete analysis currently available. Il2CppInspector helps you to reverse engineer IL2CPP applications, providing the most complete analysis currently available.
@@ -16,13 +16,13 @@ Il2CppInspector helps you to reverse engineer IL2CPP applications, providing the
* Create **[JSON metadata](#generating-json-metadata)** with a complete address map directly from IL2CPP Files. * Create **[JSON metadata](#generating-json-metadata)** with a complete address map directly from IL2CPP Files.
* Create **[IL2CPP binaries from arbitrary C# source code without a Unity project](#generating-il2cpp-binaries-without-a-unity-project)** * Create **[IL2CPP binaries from arbitrary C# source code without a Unity project](#universal-il2cpp-build-utility)**
* **[Three major APIs](#using-the-apis-for-programmatic-analysis)** for use in your own custom static analysis projects for querying low level binary metadata, the .NET type model and the whole C++ application. These are also available as a [NuGet Package](https://www.nuget.org/packages/NoisyCowStudios.Il2CppInspector/). * **[Three major APIs](#using-the-apis-for-programmatic-analysis)** for use in your own custom static analysis projects for querying low level binary metadata, the .NET type model and the whole C++ application. These are also available as a [NuGet Package](https://www.nuget.org/packages/NoisyCowStudios.Il2CppInspector/).
* Supports **all major file formats and processor architectures** * Supports **all major file formats and processor architectures**
* Defeats certain types of basic obfuscation * Defeats certain types of obfuscation
* Works on Windows, MacOS X and Linux. **Integrated GUI** for Windows users with drag & drop support * Works on Windows, MacOS X and Linux. **Integrated GUI** for Windows users with drag & drop support
@@ -300,6 +300,7 @@ The following files are generated:
- `il2cpp-functions.h`: - `il2cpp-functions.h`:
- The function pointer signature and offset from the image base address to every C#-equivalent method - The function pointer signature and offset from the image base address to every C#-equivalent method
- The offset from the image base address to every method information class (`MethodInfo **`)
- `il2cpp-types-ptr.h`: - `il2cpp-types-ptr.h`:
- The offset from the image base address to every type information class (`Il2CppClass **`) - The offset from the image base address to every type information class (`Il2CppClass **`)
@@ -345,6 +346,8 @@ The default `main.cpp` includes commented code to allow you to write to a log or
**Tip:** When a new version of the target application is released, you can re-output the C++ scaffolding project in-place. The `appdata` and `framework` folders will be overwritten but the `user` folder and project/solution files will not be changed. This makes it easy to update your project when the target application has been updated! **Tip:** When a new version of the target application is released, you can re-output the C++ scaffolding project in-place. The `appdata` and `framework` folders will be overwritten but the `user` folder and project/solution files will not be changed. This makes it easy to update your project when the target application has been updated!
**Compatibility:** It is recommended to use Visual Studio 2019 (MSVC++ Build Tools v142 or later). The scaffolding projects have been tested with Visual Studio 2019 and Visual Studio 2017 (MSVC++ Build Tools v141), however some helper code is omitted when using Visual Studio 2017 in order to enable compilation to succeed.
#### DLL Injection workflow #### DLL Injection workflow
1. Use Il2CppInspector to create C++ scaffolding output for the executable binary of interest 1. Use Il2CppInspector to create C++ scaffolding output for the executable binary of interest
@@ -455,11 +458,18 @@ The output schema is as follows:
- `symbols` (array) - `symbols` (array)
The virtual address, name and symbol type of every named (non-zero name length) and non-zero address function definition, type, field name and import (for ELF) defined in the binary. Not currently supported for PE files. The virtual address, name and symbol type of every named (non-zero name length) and non-zero address function definition, type, field name and import (for ELF) defined in the binary. Not currently supported for PE files.
### Generating IL2CPP binaries without a Unity project ### Universal IL2CPP Build Utility
Three Powershell scripts are provided to enable easy building and testing of IL2CPP binaries: Three Powershell scripts are provided to enable easy building and testing of IL2CPP binaries:
* `il2cpp.ps1` is the main workhorse and compiles each specified C# source file in `TestSources` (or all of them if none supplied) as a separate assembly, and outputs them to `TestAssemblies`. It then takes every specified assembly in `TestAssemblies` and compiles each one as a separate IL2CPP project for each of these architectures: Windows x86 standalone, Windows x64 standalone, Android ARMv7 (32-bit) and Android ARMv8-A (64-bit). These are placed into the `TestBinaries` folder. The C++ source code for each build is placed into the `TestCpp` folder. It then calls `generate-tests.ps1`. * `il2cpp.ps1` is the main workhorse and compiles each specified C# source file in `TestSources` (or all of them if none supplied) as a separate assembly, and outputs them to `TestAssemblies`. It then takes every specified assembly in `TestAssemblies` and compiles each one as a separate IL2CPP project for each of these architectures:
- Windows x86 standalone
- Windows x64 standalone
- Android ARMv7 (32-bit)
- Android ARMv8-A (64-bit)
These are placed into the `TestBinaries` folder. The C++ source code for each build is placed into the `TestCpp` folder. It then calls `generate-tests.ps1`.
Specify a comma-separated list of source files (without the `.cs` extension) to process as the first argument (or `-assemblies`). Specify a comma-separated list of source files (without the `.cs` extension) to process as the first argument (or `-assemblies`).
@@ -559,8 +569,12 @@ Unity version | IL2CPP version | Support
2017.1.x-2018.2.x | 24.0 | Working 2017.1.x-2018.2.x | 24.0 | Working
2018.3.x-2018.4.x | 24.1 | Working 2018.3.x-2018.4.x | 24.1 | Working
2019.1.x-2019.3.6 | 24.2 | Working 2019.1.x-2019.3.6 | 24.2 | Working
2019.3.7-2020.1.x | 24.3 | Working 2019.3.7-2019.4.14 | 24.3 | Working
2019.4.15+ | 24.4 | Working
2020.1.0-2020.1.10 | 24.3 | Working
2020.1.11+ | 24.4 | Working
2020.2.0 (beta) | 27 | Working 2020.2.0 (beta) | 27 | Working
2021.1 (alpha) | 27 | Partial
Please refer to the companion repository https://github.com/nneonneo/Il2CppVersions if you would like to track the changes between each IL2CPP release version. Please refer to the companion repository https://github.com/nneonneo/Il2CppVersions if you would like to track the changes between each IL2CPP release version.