Slight rebranding, add new README section, bump version to 2023.1

This commit is contained in:
LukeFZ
2023-12-01 09:53:01 +01:00
parent 5afe295ef0
commit 8755d99d63
6 changed files with 607 additions and 586 deletions

View File

@@ -9,7 +9,7 @@
<PublishTrimmed>false</PublishTrimmed> <PublishTrimmed>false</PublishTrimmed>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Version>2021.1</Version> <Version>2023.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-2021 Katy Coe - www.djkaty.com - www.github.com/djkaty</Copyright> <Copyright>(c) 2017-2021 Katy Coe - www.djkaty.com - www.github.com/djkaty</Copyright>

View File

@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<AssemblyName>Il2CppInspector.Common</AssemblyName> <AssemblyName>Il2CppInspector.Common</AssemblyName>
<Authors>Katy Coe</Authors> <Authors>Katy Coe</Authors>
<Version>2021.1</Version> <Version>2023.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

@@ -1,22 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows7.0</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<PublishSingleFile>true</PublishSingleFile> <PublishSingleFile>true</PublishSingleFile>
<!-- Plugins may require bass class library assemblies we're not using so disable trimming --> <!-- Plugins may require bass class library assemblies we're not using so disable trimming -->
<PublishTrimmed>false</PublishTrimmed> <PublishTrimmed>false</PublishTrimmed>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<AssemblyName>Il2CppInspector</AssemblyName> <AssemblyName>Il2CppInspector</AssemblyName>
<Version>2021.1</Version> <Version>2023.1</Version>
<Authors>Katy Coe</Authors> <Authors>Katy Coe, LukeFZ</Authors>
<Company>Noisy Cow Studios</Company> <Company>Noisy Cow Studios</Company>
<Product>Il2CppInspector Windows Edition</Product> <Product>Il2CppInspectorRedux Windows Edition</Product>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>Il2CppInspector.ico</ApplicationIcon> <ApplicationIcon>Il2CppInspector.ico</ApplicationIcon>
<AssemblyVersion>2021.1.0.0</AssemblyVersion> <AssemblyVersion>2023.1.0.0</AssemblyVersion>
<FileVersion>2021.1.0.0</FileVersion> <FileVersion>2023.1.0.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -6,7 +6,7 @@
xmlns:local="clr-namespace:Il2CppInspectorGUI" xmlns:local="clr-namespace:Il2CppInspectorGUI"
xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif" xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif"
mc:Ignorable="d" mc:Ignorable="d"
Title="Il2CppInspector" Height="850" Width="1100" Background="White" Title="Il2CppInspectorRedux" Height="850" Width="1100" Background="White"
WindowStartupLocation="CenterScreen" WindowStartupLocation="CenterScreen"
ContentRendered="MainWindow_OnContentRendered" ContentRendered="MainWindow_OnContentRendered"
Drop="MainWindow_OnDrop"> Drop="MainWindow_OnDrop">
@@ -66,12 +66,15 @@
<!-- Footer text --> <!-- Footer text -->
<TextBlock DockPanel.Dock="Bottom" TextWrapping="WrapWithOverflow" Margin="5"> <TextBlock DockPanel.Dock="Bottom" TextWrapping="WrapWithOverflow" Margin="5">
If you find this tool useful, please donate to help support its continued development!<LineBreak/> If you find this tool useful, please donate to help support its continued development!<LineBreak/>
Donate via <Hyperlink NavigateUri="http://paypal.me/djkaty" RequestNavigate="Hyperlink_OnRequestNavigate">PayPal</Hyperlink><LineBreak/> Donate to LukeFZ via <Hyperlink NavigateUri="http://buymeacoffee.com/LukeFZ" RequestNavigate="Hyperlink_OnRequestNavigate">BuyMeACoffee</Hyperlink>
Donate with bitcoin:<LineBreak/><TextBox IsReadOnly="True">3FoRUqUXgYj8NY8sMQfhX6vv9LqR3e2kzz</TextBox><LineBreak/> Donate to LukeFZ via <Hyperlink NavigateUri="http://patreon.com/LukeFZ" RequestNavigate="Hyperlink_OnRequestNavigate">Patreon</Hyperlink>
Donate to djkaty via <Hyperlink NavigateUri="http://paypal.me/djkaty" RequestNavigate="Hyperlink_OnRequestNavigate">PayPal</Hyperlink><LineBreak/>
Donate to djkaty with bitcoin:<LineBreak/><TextBox IsReadOnly="True">3FoRUqUXgYj8NY8sMQfhX6vv9LqR3e2kzz</TextBox><LineBreak/>
<LineBreak/> <LineBreak/>
<Hyperlink NavigateUri="https://github.com/djkaty/Il2CppInspector" RequestNavigate="Hyperlink_OnRequestNavigate">Il2CppInspector on GitHub</Hyperlink><LineBreak/> <Hyperlink NavigateUri="https://github.com/LukeFZ/Il2CppInspectorRedux" RequestNavigate="Hyperlink_OnRequestNavigate">Il2CppInspectorRedux on GitHub</Hyperlink><LineBreak/>
<Hyperlink NavigateUri="https://github.com/LukeFZ" RequestNavigate="Hyperlink_OnRequestNavigate">https://github.com/LukeFZ</Hyperlink><LineBreak/>
<Hyperlink NavigateUri="http://www.djkaty.com" RequestNavigate="Hyperlink_OnRequestNavigate">www.djkaty.com</Hyperlink><LineBreak/> <Hyperlink NavigateUri="http://www.djkaty.com" RequestNavigate="Hyperlink_OnRequestNavigate">www.djkaty.com</Hyperlink><LineBreak/>
&#169; Katy Coe 2017-2021 &#169; Katy Coe 2017-2021, LukeFZ 2023
</TextBlock> </TextBlock>
<!-- Image details view --> <!-- Image details view -->

View File

@@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 17
VisualStudioVersion = 16.0.29409.12 VisualStudioVersion = 17.8.34227.203
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bin2Object", "Bin2Object\Bin2Object\Bin2Object.csproj", "{55382D6C-01B6-4AFD-850C-7A79DAB6F270}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bin2Object", "Bin2Object\Bin2Object\Bin2Object.csproj", "{55382D6C-01B6-4AFD-850C-7A79DAB6F270}"
EndProject EndProject
@@ -33,6 +33,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInspector.GUI", "Il2CppInspector.GUI\Il2CppInspector.GUI.csproj", "{A24D77DA-8A64-4AD3-956A-677A96F20373}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInspector.GUI", "Il2CppInspector.GUI\Il2CppInspector.GUI.csproj", "{A24D77DA-8A64-4AD3-956A-677A96F20373}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{290A5778-CCBA-439B-BD5C-76D2D4848F6D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{452BE076-A87D-4731-B223-2E249C00EBC1}"
ProjectSection(SolutionItems) = preProject
.github\workflows\build.yml = .github\workflows\build.yml
EndProjectSection
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -63,6 +70,10 @@ Global
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{290A5778-CCBA-439B-BD5C-76D2D4848F6D} = {46226B08-22BA-455E-8B99-F496E90EDCBC}
{452BE076-A87D-4731-B223-2E249C00EBC1} = {290A5778-CCBA-439B-BD5C-76D2D4848F6D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A2F9DB35-5C65-4A94-8DD8-36FF9F3590C7} SolutionGuid = {A2F9DB35-5C65-4A94-8DD8-36FF9F3590C7}
EndGlobalSection EndGlobalSection

View File

@@ -1,23 +1,22 @@
# Development of Il2CppInspector is suspended # Il2CppInspectorRedux 2023.1
It is with great regret that I have to announce that development work on Il2CppInspector has been halted for the foreseeable future. Il2CppInspectorRedux helps you to reverse engineer IL2CPP applications, providing the most complete analysis currently available.
The reason for this is that due to health and changes in my personal life, I simply do not have time to commit to working on the project anymore. This is very frustrating for me but there is little I can really do about it. This is a continuation of [Il2CppInspector, by djkaty](https://github.com/djkaty/Il2CppInspector) which has suspended development, and contains some new features and support for new metadata versions.
Please feel free to fork the project and make improvements! You can also continue to post issues as I would like to have a compendium of bugs and problems saved in case that I or someone else does have the opportunity to get back to working on this. Please note though, that I won't be responding to issues or PRs going forward for the foreseeable future.
If you need IL2CPP tooling, I recommend my friend and colleague's excellent project [Cpp2IL](https://github.com/SamboyCoding/Cpp2IL) which is a work-in-progress tool to convert IL2CPP binaries directly back into IL code which can be easily viewed in dnSpy etc. This is a mammoth task so please do go and support his work on this amazing project!
Happy hacking,
Katy.
# Il2CppInspector 2021.1
Il2CppInspector helps you to reverse engineer IL2CPP applications, providing the most complete analysis currently available.
![Il2CppInspector GUI](docs/GUI_Preview.png) ![Il2CppInspector GUI](docs/GUI_Preview.png)
### Redux only features
* Support for metadata version 29 and 29.1, with full reconstruction of custom attributes
* Proper extraction of static array initializer contents with their correct length
* Proper support for v27.2+ Il2CppType
* Fixed support for v24.5
* Export of static metadata fields and IDA script support for importing them
* Support for [ThreadStatic] static fields
* Better heuristic for detecting metadata usages
* Performance improvements
### Main features ### Main features
* Output IL2CPP type definitions, metadata and method pointers as **[C# stub code](#creating-c-prototypes)** * Output IL2CPP type definitions, metadata and method pointers as **[C# stub code](#creating-c-prototypes)**
@@ -114,7 +113,7 @@ Nice to have:
* Automatically defeats certain basic obfuscation methods * Automatically defeats certain basic obfuscation methods
* Test chassis for automated integration testing of IL2CPP binaries * Test chassis for automated integration testing of IL2CPP binaries
Class library targets .NET Core 3.1. Built with Visual Studio 2019. Class library targets .NET 8. Built with Visual Studio 2019.
**NOTE**: Il2CppInspector is not a decompiler. It can provide you with the structure of an application and function addresses for every method so that you can easily jump straight to methods of interest in your disassembler. It does not attempt to recover the entire source code of the application. **NOTE**: Il2CppInspector is not a decompiler. It can provide you with the structure of an application and function addresses for every method so that you can easily jump straight to methods of interest in your disassembler. It does not attempt to recover the entire source code of the application.
@@ -332,6 +331,7 @@ Il2CppInspector generates the following data for IDA projects:
- Comments for all IL string literal metadata pointers containing the value of the string - Comments for all IL string literal metadata pointers containing the value of the string
- Names and types for some IL2CPP-specific data structures and functions - Names and types for some IL2CPP-specific data structures and functions
- Names and typed signatures for all IL2CPP API functions that could be identified - Names and typed signatures for all IL2CPP API functions that could be identified
- (Redux only) Names for all static metadata fields (PrivateImplementationDetails)
Example IDA C++ decompilation after applying Il2CppInspector (initialization code omitted for brevity): Example IDA C++ decompilation after applying Il2CppInspector (initialization code omitted for brevity):
@@ -566,6 +566,9 @@ 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.
- `fields` (array) (Redux only)
The virtual address and name of every static metadata field in the binary. Used for static array initializers such as the ones found in PrivateImplementationDetails.
### Universal IL2CPP Build Utility ### 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:
@@ -732,7 +735,9 @@ Unity version | IL2CPP version | Support
2020.1.11-2020.1.17 | 24.4 | Working 2020.1.11-2020.1.17 | 24.4 | Working
2020.2.0-2020.2.3 | 27 | Working 2020.2.0-2020.2.3 | 27 | Working
2020.2.4-2020.3.x | 27.1 | Working 2020.2.4-2020.3.x | 27.1 | Working
2021.1.0-2021.1.x | 27.2 | Partial 2021.1.0-2021.1.x | 27.2 | Working
2021.2.0-2021.2.x | 29 | Working
2021.3.0+ | 29.1 | Working
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.
@@ -744,11 +749,13 @@ Please check the binary file in a disassembler to ensure that it is a plain IL2C
### Support ### Support
If you found Il2CppInspector useful, you can really help support the project by making a small donation at http://paypal.me/djkaty! If you found Il2CppInspector useful, you can really help support the project by making a small donation!
You can also donate with bitcoin: 3FoRUqUXgYj8NY8sMQfhX6vv9LqR3e2kzz Donate to the author of Il2CppInspectorRedux, LukeFZ, via https://buymeacoffee.com/LukeFZ or https://patreon.com/LukeFZ
Much love! - Katy Donate to the author of the original Il2CppInspector, djkaty, via http://paypal.me/djkaty or with bitcoin: 3FoRUqUXgYj8NY8sMQfhX6vv9LqR3e2kzz
All donations are appreciated!
### Acknowledgements ### Acknowledgements