C++: Output DLL injection boilerplate project
This commit is contained in:
@@ -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());
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
234
Il2CppInspector.Common/Properties/Resources.Designer.cs
generated
234
Il2CppInspector.Common/Properties/Resources.Designer.cs
generated
@@ -60,6 +60,192 @@ namespace Il2CppInspector.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string Cpp_DLLMainCpp {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-DLLMainCpp", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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();.
|
||||
/// </summary>
|
||||
internal static string Cpp_DLLMainH {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-DLLMainH", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string Cpp_HelpersCpp {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-HelpersCpp", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string Cpp_HelpersH {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-HelpersH", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string Cpp_IL2CPPInitH {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-IL2CPPInitH", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
///}.
|
||||
/// </summary>
|
||||
internal static string Cpp_MainCpp {
|
||||
get {
|
||||
return ResourceManager.GetString("Cpp-MainCpp", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string CppProjTemplate {
|
||||
get {
|
||||
return ResourceManager.GetString("CppProjTemplate", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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]";.
|
||||
/// </summary>
|
||||
internal static string CppSlnTemplate {
|
||||
get {
|
||||
return ResourceManager.GetString("CppSlnTemplate", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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 {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
///.
|
||||
/// </summary>
|
||||
internal static string CsSlnTemplate {
|
||||
get {
|
||||
return ResourceManager.GetString("CsSlnTemplate", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
///.
|
||||
/// </summary>
|
||||
internal static string SlnTemplate {
|
||||
get {
|
||||
return ResourceManager.GetString("SlnTemplate", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +117,407 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Cpp-DLLMainCpp" xml:space="preserve">
|
||||
<value>// 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;
|
||||
}</value>
|
||||
</data>
|
||||
<data name="Cpp-DLLMainH" xml:space="preserve">
|
||||
<value>// 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();</value>
|
||||
</data>
|
||||
<data name="Cpp-HelpersCpp" xml:space="preserve">
|
||||
<value>// 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);
|
||||
}</value>
|
||||
</data>
|
||||
<data name="Cpp-HelpersH" xml:space="preserve">
|
||||
<value>// 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();
|
||||
}</value>
|
||||
</data>
|
||||
<data name="Cpp-IL2CPPInitH" xml:space="preserve">
|
||||
<value>// 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
|
||||
}</value>
|
||||
</data>
|
||||
<data name="Cpp-MainCpp" xml:space="preserve">
|
||||
<value>// 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
|
||||
}</value>
|
||||
</data>
|
||||
<data name="CppProjTemplate" xml:space="preserve">
|
||||
<value><?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></value>
|
||||
</data>
|
||||
<data name="CppSlnTemplate" xml:space="preserve">
|
||||
<value>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</value>
|
||||
</data>
|
||||
<data name="CsProjTemplate" xml:space="preserve">
|
||||
<value><?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
|
||||
</value>
|
||||
</data>
|
||||
<data name="SlnTemplate" xml:space="preserve">
|
||||
<data name="CsSlnTemplate" xml:space="preserve">
|
||||
<value>Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
%PROJECTDEFINITIONS%
|
||||
|
||||
Reference in New Issue
Block a user