mirror of
https://github.com/gmh5225/awesome-game-security
synced 2026-06-21 13:56:22 +00:00
archive: add 5 repo prompt(s) [skip ci]
This commit is contained in:
@@ -0,0 +1,510 @@
|
||||
Project Path: arc_adde88_SkyEngine_874iu5jq
|
||||
|
||||
Source Tree:
|
||||
|
||||
```txt
|
||||
arc_adde88_SkyEngine_874iu5jq
|
||||
├── README.md
|
||||
├── lua
|
||||
│ └── SkyEngine
|
||||
│ ├── Core.lua
|
||||
│ └── SkyEngine.toc
|
||||
└── src
|
||||
├── Memory.h
|
||||
├── SkyEngine.cpp
|
||||
├── SkyEngine.sln
|
||||
├── SkyEngine.vcxproj
|
||||
└── SkyEngine.vcxproj.filters
|
||||
|
||||
```
|
||||
|
||||
`README.md`:
|
||||
|
||||
```md
|
||||
# Wow Lua Unlocker
|
||||
World of Warcraft Lua Unlocker for Live WoW 7.x to 8.x and Classic<br>
|
||||
Website: https://winifix.github.io/<br>
|
||||
|
||||
# Credits
|
||||
l0l1dk - the logic shared with me, originally written in D-Lang.<br>
|
||||
|
||||
# How it works
|
||||
It just resets the "lua-tainted" address to 0 thousands/millions of times per second<br>
|
||||
so all wow "protected lua" functions end up being called without issues 99% of the time,<br>
|
||||
they are fooled into believing they not protected functions so run.<br>
|
||||
|
||||
# Will it work on Classic wow?
|
||||
As of now yes, but that may change at anytime
|
||||
|
||||
# Can it be detected?
|
||||
Yes<br>
|
||||
|
||||
# Will it be detected?
|
||||
Maybe<br>
|
||||
|
||||
```
|
||||
|
||||
`lua/SkyEngine/Core.lua`:
|
||||
|
||||
```lua
|
||||
local function CanCast(spellName)
|
||||
local start, duration, enabled, modRate = GetSpellCooldown(spellName)
|
||||
local remainingTime = (start + duration - GetTime() - select(4, GetNetStats()) / 1000)
|
||||
if remainingTime < 0 then
|
||||
remainingTime = 0
|
||||
end
|
||||
|
||||
local isUsable, notEnoughMana = IsUsableSpell(spellName)
|
||||
if notEnoughMana then return false end
|
||||
if not isUsable then return false end
|
||||
return remainingTime == 0
|
||||
end
|
||||
|
||||
local function CastSpell(spellName, target)
|
||||
if not UnitExists(target) then return end
|
||||
if not UnitCastingInfo('player') and CanCast(spellName) then
|
||||
secured = false
|
||||
while not secured do
|
||||
RunScript([[
|
||||
for index = 1, 500 do
|
||||
if not issecure() then
|
||||
return
|
||||
end
|
||||
end
|
||||
CastSpellByName("]] .. spellName .. [[", "]] .. target .. [[")
|
||||
secured = true
|
||||
]])
|
||||
if secured then
|
||||
print('Cast: ' .. spellName .. ' on ' .. target)
|
||||
end
|
||||
end
|
||||
if StaticPopup1:IsVisible() then StaticPopup1:Hide() end
|
||||
end
|
||||
|
||||
function Rotation()
|
||||
if IsMounted() then return end
|
||||
|
||||
if not HasBuff('Flash Heal', 'player') then CastSpell('Flash Heal', 'player') end
|
||||
end
|
||||
|
||||
C_Timer.NewTicker(0.5, Rotation)
|
||||
```
|
||||
|
||||
`lua/SkyEngine/SkyEngine.toc`:
|
||||
|
||||
```toc
|
||||
## Interface: 80200
|
||||
## Title: |cFFDDA0DDSkyEngine
|
||||
## Notes: Helper
|
||||
|
||||
## Core Loader
|
||||
Core.lua
|
||||
```
|
||||
|
||||
`src/Memory.h`:
|
||||
|
||||
```h
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <Windows.h>
|
||||
#include <TlHelp32.h>
|
||||
|
||||
using std::cout;
|
||||
using std::endl;
|
||||
using std::string;
|
||||
|
||||
// datatype for a module in memory (dll, regular exe)
|
||||
struct module
|
||||
{
|
||||
DWORD_PTR BaseAddress;
|
||||
DWORD Size;
|
||||
};
|
||||
|
||||
class Memory
|
||||
{
|
||||
public:
|
||||
module TargetModule; // Hold target module
|
||||
HANDLE TargetProcess; // for target process
|
||||
DWORD TargetId; // for target process
|
||||
|
||||
// For getting a handle to a process
|
||||
HANDLE GetProcess(const char* processName)
|
||||
{
|
||||
WCHAR wProcessName[MAX_PATH] = { 0 };
|
||||
mbstowcs(wProcessName, processName, strlen(processName));
|
||||
|
||||
HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
|
||||
PROCESSENTRY32 entry;
|
||||
entry.dwSize = sizeof(entry);
|
||||
|
||||
do
|
||||
if (!_wcsicmp(entry.szExeFile, wProcessName)) {
|
||||
TargetId = entry.th32ProcessID;
|
||||
CloseHandle(handle);
|
||||
TargetProcess = OpenProcess(PROCESS_ALL_ACCESS, false, TargetId);
|
||||
return TargetProcess;
|
||||
}
|
||||
while (Process32Next(handle, &entry));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// For getting information about the executing module
|
||||
module GetModule(const char* moduleName) {
|
||||
WCHAR wModuleName[MAX_PATH] = { 0 };
|
||||
mbstowcs(wModuleName, moduleName, strlen(moduleName));
|
||||
|
||||
HANDLE hmodule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, TargetId);
|
||||
MODULEENTRY32 mEntry;
|
||||
mEntry.dwSize = sizeof(mEntry);
|
||||
|
||||
do
|
||||
{
|
||||
if (!_wcsicmp(mEntry.szModule, wModuleName)) {
|
||||
CloseHandle(hmodule);
|
||||
|
||||
TargetModule = { (DWORD_PTR)mEntry.hModule, mEntry.modBaseSize };
|
||||
return TargetModule;
|
||||
}
|
||||
} while (Module32Next(hmodule, &mEntry));
|
||||
|
||||
module mod = { (DWORD_PTR)false, (DWORD)false };
|
||||
return mod;
|
||||
}
|
||||
|
||||
// Basic WPM wrapper, easier to use.
|
||||
template <typename var>
|
||||
bool WriteMemory(DWORD_PTR Address, var Value) {
|
||||
return WriteProcessMemory(TargetProcess, (LPVOID)Address, &Value, sizeof(var), 0);
|
||||
}
|
||||
|
||||
// Basic RPM wrapper, easier to use.
|
||||
template <typename var>
|
||||
var ReadMemory(DWORD_PTR Address) {
|
||||
var value;
|
||||
ReadProcessMemory(TargetProcess, (LPCVOID)Address, &value, sizeof(var), NULL);
|
||||
return value;
|
||||
}
|
||||
|
||||
// for comparing a region in memory, needed in finding a signature
|
||||
bool MemoryCompare(const BYTE* bData, const BYTE* bMask, const char* szMask) {
|
||||
for (; *szMask; ++szMask, ++bData, ++bMask) {
|
||||
if (*szMask == 'x' && *bData != *bMask) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return (*szMask == NULL);
|
||||
}
|
||||
|
||||
// for finding a signature/pattern in memory of another process
|
||||
DWORD_PTR FindSignature(DWORD_PTR start, DWORD size, const char* sig, const char* mask)
|
||||
{
|
||||
BYTE* data = new BYTE[size];
|
||||
SIZE_T bytesRead;
|
||||
|
||||
ReadProcessMemory(TargetProcess, (LPVOID)start, data, size, &bytesRead);
|
||||
|
||||
for (DWORD i = 0; i < size; i++)
|
||||
{
|
||||
if (MemoryCompare((const BYTE*)(data + i), (const BYTE*)sig, mask)) {
|
||||
return start + i;
|
||||
}
|
||||
}
|
||||
delete[] data;
|
||||
return NULL;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
`src/SkyEngine.cpp`:
|
||||
|
||||
```cpp
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <Windows.h>
|
||||
#include "Memory.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
SetConsoleTitle(L"SkyEngine");
|
||||
printf("Developed by - WiNiFiX#0204 (Jul 2019)\n");
|
||||
|
||||
Memory memory;
|
||||
if (memory.GetProcess("Wow.exe"))
|
||||
{
|
||||
printf("WoW Process Id : %i\n", memory.TargetId);
|
||||
|
||||
auto mod = memory.GetModule("Wow.exe");
|
||||
printf("WoW Base Address : 0x%llX\n", mod.BaseAddress);
|
||||
|
||||
auto address = memory.FindSignature(mod.BaseAddress, mod.Size, "\x4C\x8B\x0D\x00\x00\x00\x00\x45\x33\xC0\x48\x8B\xCE", "xxx????xxxxxx");
|
||||
printf("WoW Sig Address : 0x%llX\n", address);
|
||||
|
||||
auto TaintedAddress = address + memory.ReadMemory<DWORD>(address + 0x3) + 0x7;
|
||||
printf("Lua_TaintedPtrOffset : 0x%llX\n", TaintedAddress - mod.BaseAddress); // will be values close to: 0x2CB8B88; //0x2C93B48; //0x2C94BA8;
|
||||
|
||||
DWORD_PTR lastLuaTaintedPtr = 0;
|
||||
long count = 0;
|
||||
|
||||
printf("Lua is now unlocked...\n");
|
||||
|
||||
while (true)
|
||||
{
|
||||
memory.WriteMemory<DWORD_PTR>(TaintedAddress, 0);
|
||||
Sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please launch wow then re-open this unlocker\n");
|
||||
|
||||
for (auto c = 5; c > 0; c--)
|
||||
{
|
||||
printf("Closing in %i\n", c);
|
||||
Sleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
`src/SkyEngine.sln`:
|
||||
|
||||
```sln
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29020.237
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SkyEngine", "SkyEngine.vcxproj", "{E15B5422-A159-4F53-B55F-61140454CC63}"
|
||||
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
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x64.Build.0 = Debug|x64
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x64.ActiveCfg = Release|x64
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x64.Build.0 = Release|x64
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B682911A-B446-47BF-BB6F-6ABBE80675CF}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
```
|
||||
|
||||
`src/SkyEngine.vcxproj`:
|
||||
|
||||
```vcxproj
|
||||
<?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>
|
||||
<ProjectGuid>{E15B5422-A159-4F53-B55F-61140454CC63}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>SkyEngine</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</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)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\Release\</OutDir>
|
||||
<IntDir>$(SolutionDir)\Debug\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SkyEngine.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Memory.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
```
|
||||
|
||||
`src/SkyEngine.vcxproj.filters`:
|
||||
|
||||
```filters
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SkyEngine.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Memory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user