diff --git a/Il2CppInspector.Common/Outputs/CSharpCodeStubs.cs b/Il2CppInspector.Common/Outputs/CSharpCodeStubs.cs
index 6274de8..c1386c0 100644
--- a/Il2CppInspector.Common/Outputs/CSharpCodeStubs.cs
+++ b/Il2CppInspector.Common/Outputs/CSharpCodeStubs.cs
@@ -168,7 +168,7 @@ namespace Il2CppInspector.Outputs
}
// Merge everything into .sln file
- var sln = Resources.SlnTemplate
+ var sln = Resources.CsSlnTemplate
.Replace("%PROJECTDEFINITIONS%", slnProjectDefs.ToString())
.Replace("%PROJECTCONFIGURATIONS%", slnProjectConfigs.ToString());
diff --git a/Il2CppInspector.Common/Outputs/CppScaffolding.cs b/Il2CppInspector.Common/Outputs/CppScaffolding.cs
index 97c0423..ecd5114 100644
--- a/Il2CppInspector.Common/Outputs/CppScaffolding.cs
+++ b/Il2CppInspector.Common/Outputs/CppScaffolding.cs
@@ -2,6 +2,7 @@
// Copyright (c) 2020 Katy Coe - http://www.djkaty.com - https://github.com/djkaty
// All rights reserved
+using System;
using System.Linq;
using System.IO;
using System.Text;
@@ -9,6 +10,7 @@ using System.Text.RegularExpressions;
using Il2CppInspector.Reflection;
using Il2CppInspector.Cpp;
using Il2CppInspector.Model;
+using Il2CppInspector.Properties;
namespace Il2CppInspector.Outputs
{
@@ -100,6 +102,33 @@ namespace Il2CppInspector.Outputs
}
writer.Close();
+
+ // Write boilerplate code
+ File.WriteAllText(Path.Combine(outputPath, "il2cpp-init.h"), Resources.Cpp_IL2CPPInitH);
+ File.WriteAllText(Path.Combine(outputPath, "helpers.h"), Resources.Cpp_HelpersH);
+ File.WriteAllText(Path.Combine(outputPath, "dllmain.h"), Resources.Cpp_DLLMainH);
+ File.WriteAllText(Path.Combine(outputPath, "main.cpp"), Resources.Cpp_MainCpp);
+ File.WriteAllText(Path.Combine(outputPath, "helpers.cpp"), Resources.Cpp_HelpersCpp);
+ File.WriteAllText(Path.Combine(outputPath, "dllmain.cpp"), Resources.Cpp_DLLMainCpp);
+
+ // Write Visual Studio project and solution files
+ var projectGuid = Guid.NewGuid();
+ var projectName = "IL2CppDLL";
+ var projectFile = projectName + ".vcxproj";
+
+ File.WriteAllText(Path.Combine(outputPath, projectFile),
+ Resources.CppProjTemplate.Replace("%PROJECTGUID%", projectGuid.ToString()));
+
+ var solutionGuid = Guid.NewGuid();
+ var solutionFile = projectName + ".sln";
+
+ var sln = Resources.CppSlnTemplate
+ .Replace("%PROJECTGUID%", projectGuid.ToString())
+ .Replace("%PROJECTNAME%", projectName)
+ .Replace("%PROJECTFILE%", projectFile)
+ .Replace("%SOLUTIONGUID%", solutionGuid.ToString());
+
+ File.WriteAllText(Path.Combine(outputPath, solutionFile), sln);
}
private void writeHeader() {
diff --git a/Il2CppInspector.Common/Properties/Resources.Designer.cs b/Il2CppInspector.Common/Properties/Resources.Designer.cs
index 966d43d..5d351eb 100644
--- a/Il2CppInspector.Common/Properties/Resources.Designer.cs
+++ b/Il2CppInspector.Common/Properties/Resources.Designer.cs
@@ -60,6 +60,192 @@ namespace Il2CppInspector.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///
+ ///#define WIN32_LEAN_AND_MEAN
+ ///#include "windows.h"
+ ///#include "dllmain.h"
+ ///
+ ///// DLL entry point
+ ///BOOL APIENTRY DllMain( HMODULE hModule,
+ /// DWORD ul_reason_for_call,
+ /// LPVOID lpReserved
+ /// )
+ ///{
+ /// switch (ul_reason_for_call)
+ /// {
+ /// case DLL_PROCESS_ATTACH:
+ /// init_il2cpp();
+ /// CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Run, NULL, [rest of string was truncated]";.
+ ///
+ internal static string Cpp_DLLMainCpp {
+ get {
+ return ResourceManager.GetString("Cpp-DLLMainCpp", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///
+ ///// Entry point declaration for custom injected code
+ ///void Run();
+ ///
+ ///// IL2CPP initializer
+ ///void init_il2cpp();.
+ ///
+ internal static string Cpp_DLLMainH {
+ get {
+ return ResourceManager.GetString("Cpp-DLLMainH", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///// Logging functions
+ ///
+ ///#define WIN32_LEAN_AND_MEAN
+ ///#define WIN32_EXTRA_LEAN
+ ///#include <windows.h>
+ ///#include "helpers.h"
+ ///
+ ///// Write some text to the log file
+ ///void LogWrite(std::string text)
+ ///{
+ /// HANDLE hfile = CreateFileW(LOG_FILE, FILE_APPEND_DATA, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ ///
+ /// if (hfile == INVALID_HANDLE_VALUE)
+ /// MessageBox(0, L"Could not open log file", 0, [rest of string was truncated]";.
+ ///
+ internal static string Cpp_HelpersCpp {
+ get {
+ return ResourceManager.GetString("Cpp-HelpersCpp", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///// Logging functions
+ ///
+ ///#pragma once
+ ///#include <string>
+ ///#include <sstream>
+ ///#include <iomanip>
+ ///
+ ///extern const LPCWSTR LOG_FILE;
+ ///
+ ///// Helper function to append text to a file
+ ///void LogWrite(std::string text);
+ ///
+ ///// Helper function to convert a pointer to hex
+ ///template<typename T> std::string to_hex_string(T i) {
+ /// std::stringstream stream;
+ /// stream << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << [rest of string was truncated]";.
+ ///
+ internal static string Cpp_HelpersH {
+ get {
+ return ResourceManager.GetString("Cpp-HelpersH", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///// IL2CPP application initializer
+ ///
+ ///#pragma once
+ ///
+ ///#include <cstdint>
+ ///
+ ///// Application-specific types
+ ///#include "il2cpp-types.h"
+ ///
+ ///// IL2CPP API function pointers
+ ///#include "il2cpp-function-ptr.h"
+ ///
+ ///// IL2CPP APIs
+ ///#define DO_API(r, n, p) r (*n) p
+ ///#include "il2cpp-api-functions.h"
+ ///#undef DO_API
+ ///
+ ///// Application-specific functions
+ ///#define DO_APP_FUNC(a, r, n, p) r (*n) p
+ ///#include "il2cpp-functions.h"
+ ///#und [rest of string was truncated]";.
+ ///
+ internal static string Cpp_IL2CPPInitH {
+ get {
+ return ResourceManager.GetString("Cpp-IL2CPPInitH", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+ ///// Custom injected code entry point
+ ///
+ ///#include "il2cpp-init.h"
+ ///#include "helpers.h"
+ ///
+ ///using namespace app;
+ ///
+ ///// Set the name of your log file here
+ ///extern const LPCWSTR LOG_FILE = L"il2cpp-log.txt";
+ ///
+ ///// Injected code entry point
+ ///void Run()
+ ///{
+ /// LogWrite("Startup");
+ ///
+ /// // Place your custom code here
+ ///}.
+ ///
+ internal static string Cpp_MainCpp {
+ get {
+ return ResourceManager.GetString("Cpp-MainCpp", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?>
+ ///<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ /// <ItemGroup Label="ProjectConfigurations">
+ /// <ProjectConfiguration Include="Debug|Win32">
+ /// <Configuration>Debug</Configuration>
+ /// <Platform>Win32</Platform>
+ /// </ProjectConfiguration>
+ /// <ProjectConfiguration Include="Release|Win32">
+ /// <Configuration>Release</Configuration>
+ /// <Platform>Win32</Platform>
+ /// </ProjectConfiguration>
+ /// <ProjectCon [rest of string was truncated]";.
+ ///
+ internal static string CppProjTemplate {
+ get {
+ return ResourceManager.GetString("CppProjTemplate", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Microsoft Visual Studio Solution File, Format Version 12.00
+ ///# Visual Studio Version 16
+ ///VisualStudioVersion = 16.0.30204.135
+ ///MinimumVisualStudioVersion = 10.0.40219.1
+ ///Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "%PROJECTNAME%", "%PROJECTFILE%", "{%PROJECTGUID%}"
+ ///EndProject
+ ///Global
+ /// GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ /// Debug|x64 = Debug|x64
+ /// Debug|x86 = Debug|x86
+ /// Release|x64 = Release|x64
+ /// Release|x86 = Release|x86
+ /// EndGlobalSection
+ /// GlobalSection(ProjectConfig [rest of string was truncated]";.
+ ///
+ internal static string CppSlnTemplate {
+ get {
+ return ResourceManager.GetString("CppSlnTemplate", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?>
///<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@@ -80,6 +266,30 @@ namespace Il2CppInspector.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Microsoft Visual Studio Solution File, Format Version 12.00
+ ///# Visual Studio Version 16
+ ///%PROJECTDEFINITIONS%
+ ///Global
+ /// GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ /// Debug|Any CPU = Debug|Any CPU
+ /// Release|Any CPU = Release|Any CPU
+ /// EndGlobalSection
+ /// GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ ///%PROJECTCONFIGURATIONS%
+ /// EndGlobalSection
+ /// GlobalSection(SolutionProperties) = preSolution
+ /// HideSolutionNode = FALSE
+ /// EndGlobalSection
+ ///EndGlobal
+ ///.
+ ///
+ internal static string CsSlnTemplate {
+ get {
+ return ResourceManager.GetString("CsSlnTemplate", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to {%PROJECTGUID%}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
/// {%PROJECTGUID%}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -103,29 +313,5 @@ namespace Il2CppInspector.Properties {
return ResourceManager.GetString("SlnProjectDefinition", resourceCulture);
}
}
-
- ///
- /// Looks up a localized string similar to Microsoft Visual Studio Solution File, Format Version 12.00
- ///# Visual Studio Version 16
- ///%PROJECTDEFINITIONS%
- ///Global
- /// GlobalSection(SolutionConfigurationPlatforms) = preSolution
- /// Debug|Any CPU = Debug|Any CPU
- /// Release|Any CPU = Release|Any CPU
- /// EndGlobalSection
- /// GlobalSection(ProjectConfigurationPlatforms) = postSolution
- ///%PROJECTCONFIGURATIONS%
- /// EndGlobalSection
- /// GlobalSection(SolutionProperties) = preSolution
- /// HideSolutionNode = FALSE
- /// EndGlobalSection
- ///EndGlobal
- ///.
- ///
- internal static string SlnTemplate {
- get {
- return ResourceManager.GetString("SlnTemplate", resourceCulture);
- }
- }
}
}
diff --git a/Il2CppInspector.Common/Properties/Resources.resx b/Il2CppInspector.Common/Properties/Resources.resx
index 83b30ea..03f94b2 100644
--- a/Il2CppInspector.Common/Properties/Resources.resx
+++ b/Il2CppInspector.Common/Properties/Resources.resx
@@ -117,6 +117,407 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+
+#define WIN32_LEAN_AND_MEAN
+#include "windows.h"
+#include "dllmain.h"
+
+// DLL entry point
+BOOL APIENTRY DllMain( HMODULE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ init_il2cpp();
+ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Run, NULL, 0, NULL);
+ break;
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+
+// Entry point declaration for custom injected code
+void Run();
+
+// IL2CPP initializer
+void init_il2cpp();
+
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+// Logging functions
+
+#define WIN32_LEAN_AND_MEAN
+#define WIN32_EXTRA_LEAN
+#include <windows.h>
+#include "helpers.h"
+
+// Write some text to the log file
+void LogWrite(std::string text)
+{
+ HANDLE hfile = CreateFileW(LOG_FILE, FILE_APPEND_DATA, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+
+ if (hfile == INVALID_HANDLE_VALUE)
+ MessageBox(0, L"Could not open log file", 0, 0);
+
+ DWORD written;
+ WriteFile(hfile, text.c_str(), (DWORD) text.length(), &written, NULL);
+ WriteFile(hfile, "\r\n", 2, &written, NULL);
+ CloseHandle(hfile);
+}
+
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+// Logging functions
+
+#pragma once
+#include <string>
+#include <sstream>
+#include <iomanip>
+
+extern const LPCWSTR LOG_FILE;
+
+// Helper function to append text to a file
+void LogWrite(std::string text);
+
+// Helper function to convert a pointer to hex
+template<typename T> std::string to_hex_string(T i) {
+ std::stringstream stream;
+ stream << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex << i;
+ return stream.str();
+}
+
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+// IL2CPP application initializer
+
+#pragma once
+
+#include <cstdint>
+
+// Application-specific types
+#include "il2cpp-types.h"
+
+// IL2CPP API function pointers
+#include "il2cpp-function-ptr.h"
+
+// IL2CPP APIs
+#define DO_API(r, n, p) r (*n) p
+#include "il2cpp-api-functions.h"
+#undef DO_API
+
+// Application-specific functions
+#define DO_APP_FUNC(a, r, n, p) r (*n) p
+#include "il2cpp-functions.h"
+#undef DO_APP_FUNC
+
+// TypeInfo pointers
+#define DO_TYPEDEF(a, n) n ## __Class* n ## __TypeInfo
+#include "il2cpp-type-ptr.h"
+#undef DO_TYPEDEF
+
+// Try not to include any Windows symbosl that might cause a naming conflict
+#define WIN32_LEAN_AND_MEAN
+#define WIN32_EXTRA_LEAN
+#define NOIME
+#define NOWINRES
+#define NOGDICAPMASKS
+#define NOVIRTUALKEYCODES
+#define NOWINMESSAGES
+#define NOWINSTYLES
+#define NOSYSMETRICS
+#define NOMENUS
+#define NOICONS
+#define NOKEYSTATES
+#define NOSYSCOMMANDS
+#define NORASTEROPS
+#define NOSHOWWINDOW
+#define OEMRESOURCE
+#define NOATOM
+#define NOCLIPBOARD
+#define NOCOLOR
+#define NOCTLMGR
+#define NODRAWTEXT
+#define NOGDI
+#define NOUSER
+#define NOMB
+#define NOMEMMGR
+#define NOMETAFILE
+#define NOMINMAX
+#define NOMSG
+#define NOOPENFILE
+#define NOSCROLL
+#define NOSERVICE
+#define NOSOUND
+#define NOTEXTMETRIC
+#define NOWH
+#define NOWINOFFSETS
+#define NOCOMM
+#define NOKANJI
+#define NOHELP
+#define NOPROFILER
+#define NODEFERWINDOWPOS
+#define NOMCX
+#define NOIME
+#define NOPROXYSTUB
+#define NOIMAGE
+#define NO
+#define NOTAPE
+#define ANSI_ONLY
+#include "windows.h"
+
+// Initialize everything
+void init_il2cpp() {
+ // Get base address of IL2CPP module
+ uintptr_t baseAddress = (uintptr_t) GetModuleHandleW(L"GameAssembly.dll");
+
+ // Define IL2CPP API function addresses
+ #define DO_API(r, n, p) n = (r (*) p)(baseAddress + n ## _ptr)
+ #include "il2cpp-api-functions.h"
+ #undef DO_API
+
+ // Define function addresses
+ #define DO_APP_FUNC(a, r, n, p) n = (r (*) p)(baseAddress + a)
+ #include "il2cpp-functions.h"
+ #undef DO_APP_FUNC
+
+ // Define TypeInfo variables
+ #define DO_TYPEDEF(a, n) n ## __TypeInfo = *(n ## __Class**) (baseAddress + a);
+ #include "il2cpp-type-ptr.h"
+ #undef DO_TYPEDEF
+}
+
+
+ // Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
+// Custom injected code entry point
+
+#include "il2cpp-init.h"
+#include "helpers.h"
+
+using namespace app;
+
+// Set the name of your log file here
+extern const LPCWSTR LOG_FILE = L"il2cpp-log.txt";
+
+// Injected code entry point
+void Run()
+{
+ LogWrite("Startup");
+
+ // Place your custom code here
+}
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <!--<VCProjectVersion>16.0</VCProjectVersion>-->
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{%PROJECTGUID%}</ProjectGuid>
+ <RootNamespace>Il2CppDLL</RootNamespace>
+ <!--<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>-->
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <!--<PlatformToolset>v142</PlatformToolset>-->
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <!--<PlatformToolset>v142</PlatformToolset>-->
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <!--<PlatformToolset>v142</PlatformToolset>-->
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <!--<PlatformToolset>v142</PlatformToolset>-->
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;_DEBUG;IL2CPPDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;NDEBUG;IL2CPPDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;IL2CPPDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;IL2CPPDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="dllmain.cpp" />
+ <ClCompile Include="helpers.cpp" />
+ <ClCompile Include="main.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="dllmain.h" />
+ <ClInclude Include="helpers.h" />
+ <ClInclude Include="il2cpp-api-functions.h" />
+ <ClInclude Include="il2cpp-init.h" />
+ <ClInclude Include="il2cpp-function-ptr.h" />
+ <ClInclude Include="il2cpp-functions.h" />
+ <ClInclude Include="il2cpp-type-ptr.h" />
+ <ClInclude Include="il2cpp-types.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+
+
+ Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30204.135
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "%PROJECTNAME%", "%PROJECTFILE%", "{%PROJECTGUID%}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {%PROJECTGUID%}.Debug|x64.ActiveCfg = Debug|x64
+ {%PROJECTGUID%}.Debug|x64.Build.0 = Debug|x64
+ {%PROJECTGUID%}.Debug|x86.ActiveCfg = Release|x64
+ {%PROJECTGUID%}.Debug|x86.Build.0 = Release|x64
+ {%PROJECTGUID%}.Release|x64.ActiveCfg = Release|x64
+ {%PROJECTGUID%}.Release|x64.Build.0 = Release|x64
+ {%PROJECTGUID%}.Release|x86.ActiveCfg = Release|Win32
+ {%PROJECTGUID%}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {%SOLUTIONGUID%}
+ EndGlobalSection
+EndGlobal
+
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@@ -753,7 +1154,7 @@
EndProject
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
%PROJECTDEFINITIONS%