From dc08eb6dd94155b991a3b8b575fb5949dc71dd52 Mon Sep 17 00:00:00 2001 From: ficool2 <34815548+ficool2@users.noreply.github.com> Date: Sun, 16 Oct 2022 17:27:24 +0100 Subject: [PATCH] Initial commit --- .gitattributes | 2 + .gitignore | 4 + README.md | 11 + address.h | 117 ++++ custom_items_games.sln | 25 + custom_items_games.vcxproj | 145 +++++ detours.h | 1233 ++++++++++++++++++++++++++++++++++++ detours.lib | Bin 0 -> 700738 bytes helpers.h | 22 + hook.h | 51 ++ iplugin.h | 48 ++ module.h | 51 ++ plugin.cpp | 145 +++++ 13 files changed, 1854 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 address.h create mode 100644 custom_items_games.sln create mode 100644 custom_items_games.vcxproj create mode 100644 detours.h create mode 100644 detours.lib create mode 100644 helpers.h create mode 100644 hook.h create mode 100644 iplugin.h create mode 100644 module.h create mode 100644 plugin.cpp diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..789255c --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +Release/* +.vs/* +*.vcxproj.user +*.vcxproj.filters \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..911c9b3 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Custom Items Games plugin +This client-side plugin bypasses integrity checks for items_games.txt in Team Fortress 2. The plugin will only work locally, and it is VAC-safe. Signature scanning is used which should make the plugin work consistently after updates. + +## Installation +* Download the latest release and extract the "addons" folder to TF2's main folder (../common/Team Fortress 2/tf). +* Go into tf/scripts/items, copy the items_game.txt and rename it to items_game_custom.txt. This file will be loaded instead of the original items_games.txt. +* Create a blank txt file in the same folder and name it "items_game_custom.txt.sig". +* Run the game with -insecure in the launch parameters. +* If successful, you should see the plugin loaded in console. + +To disable the plugin, remove -insecure from the launch parameters. The game will not load plugins if -insecure is not present in the launch parameters, and multiplayer servers can then be joined normally. To fully uninstall, simply remove the "addons" folder. \ No newline at end of file diff --git a/address.h b/address.h new file mode 100644 index 0000000..31521f9 --- /dev/null +++ b/address.h @@ -0,0 +1,117 @@ +#pragma once + +typedef intptr_t Offset; + +struct AddressBase; +typedef std::vector AddressList; +const int maxAddresses = 2; + +struct AddressBase +{ + virtual bool Find() = 0; +}; + +template +struct AddressInfo : public AddressBase +{ + const char* name; + const char* sig; + size_t len; + const char* mask; + addrtype addr[maxAddresses]; + ModuleName mod[maxAddresses]; + + AddressInfo(const char* _name, const char* _sig, size_t _len, const char* _mask, + ModuleName _mod1, ModuleName _mod2, AddressList& list) + { + name = _name; + sig = _sig; + len = _len; + mask = _mask; + memset(addr, 0, sizeof(addr)); + mod[0] = _mod1; + mod[1] = _mod2; + list.push_back(this); + } + + virtual bool Find() + { + int foundAddr = 0; + for (int m = 0; m < maxAddresses; m++) + { + ModuleName curmod = mod[m]; + if (curmod == MOD_INVALID) + continue; + + ModuleInfo& info = modules[curmod]; + + intptr_t ptr = 0; + intptr_t end = info.base + info.size - len; + + for (intptr_t i = info.base; i < end; i++) + { + bool found = true; + for (size_t j = 0; j < len; j++) + { + if (mask) + found &= (mask[j] == '?') || (sig[j] == *(char*)(i + j)); + else + found &= (sig[j] == *(char*)(i + j)); + + } + + if (found) + { + ptr = i; + foundAddr++; + Log(Color(0, 255, 255, 255), "Signature %s found at 0x%X in %s.%s\n", + name, ptr, info.name, "dll"); + break; + } + } + + addr[m] = (addrtype)ptr; + } + + if (foundAddr == 0) + Log(Color(255, 0, 0, 255), "Failed to find signature for %s\n", name); + + return foundAddr != 0; + } + + constexpr addrtype& operator[](ModuleName m) + { + for (int k = 0; k < maxAddresses; k++) + if (mod[k] == m) + return addr[k]; + UNREACHABLE; + } +}; + +std::vector addresses; + +#define CHECK_SIG(name, sig, mask) static_assert(sizeof(#sig) == sizeof(#mask), "Mismatch in signature/mask length for " name) + +#define ADDR(var, name, mod, sig, mask) \ +AddressInfo address_##var = {name, #sig, sizeof(#sig) - 1, #mask, mod, MOD_INVALID, addresses}; \ +CHECK_SIG(name, sig, mask); + +#define ADDR_GAME(var, name, sig, mask) \ +AddressInfo address_##var = {name, #sig, sizeof(#sig) - 1, #mask, MOD_CLIENT, MOD_SERVER, addresses}; \ +CHECK_SIG(name, sig, mask); + +#define DETOUR_LOAD(addrtype) \ +for (int k = 0; k < maxAddresses; k++) \ + if (address_##addrtype.addr[k]) DetourAttach(&(LPVOID&)address_##addrtype.addr[k], &hook_##addrtype); + +#define DETOUR_LOAD_GAME(addrtype) \ +if (address_##addrtype[MOD_CLIENT]) DetourAttach(&(LPVOID&)address_##addrtype[MOD_CLIENT], &hook_client_##addrtype); \ +if (address_##addrtype[MOD_SERVER]) DetourAttach(&(LPVOID&)address_##addrtype[MOD_SERVER], &hook_server_##addrtype); + +#define DETOUR_UNLOAD(addrtype) \ +for (int k = 0; k < maxAddresses; k++) \ +if (address_##addrtype.addr[k]) DetourDetach(&(LPVOID&)address_##addrtype.addr[k], &hook_##addrtype); + +#define DETOUR_UNLOAD_GAME(addrtype) \ +if (address_##addrtype[MOD_SERVER]) DetourDetach(&(LPVOID&)address_##addrtype[MOD_CLIENT], &hook_client_##addrtype); \ +if (address_##addrtype[MOD_SERVER]) DetourDetach(&(LPVOID&)address_##addrtype[MOD_SERVER], &hook_server_##addrtype); \ No newline at end of file diff --git a/custom_items_games.sln b/custom_items_games.sln new file mode 100644 index 0000000..03e58f0 --- /dev/null +++ b/custom_items_games.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32922.545 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_items_games", "custom_items_games.vcxproj", "{7657A3ED-0F27-49A7-8967-AB3D2755732C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7657A3ED-0F27-49A7-8967-AB3D2755732C}.Debug|x86.ActiveCfg = Release|Win32 + {7657A3ED-0F27-49A7-8967-AB3D2755732C}.Debug|x86.Build.0 = Release|Win32 + {7657A3ED-0F27-49A7-8967-AB3D2755732C}.Release|x86.ActiveCfg = Release|Win32 + {7657A3ED-0F27-49A7-8967-AB3D2755732C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {ADAC55E2-8E9D-408D-8563-4264BA8205C3} + EndGlobalSection +EndGlobal diff --git a/custom_items_games.vcxproj b/custom_items_games.vcxproj new file mode 100644 index 0000000..a74a976 --- /dev/null +++ b/custom_items_games.vcxproj @@ -0,0 +1,145 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {7657a3ed-0f27-49a7-8967-ab3d2755732c} + customitemsgames + 10.0 + + + + DynamicLibrary + true + v143 + NotSet + + + DynamicLibrary + false + v143 + true + NotSet + + + DynamicLibrary + true + v143 + NotSet + + + DynamicLibrary + false + v143 + true + NotSet + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + true + + + Console + true + $(CoreLibraryDependencies);%(AdditionalDependencies);detours.lib + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + true + + + Console + true + true + true + $(CoreLibraryDependencies);%(AdditionalDependencies);detours.lib + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + true + + + Console + true + true + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/detours.h b/detours.h new file mode 100644 index 0000000..4b9e232 --- /dev/null +++ b/detours.h @@ -0,0 +1,1233 @@ +///////////////////////////////////////////////////////////////////////////// +// +// Core Detours Functionality (detours.h of detours.lib) +// +// Microsoft Research Detours Package, Version 4.0.1 +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// + +#pragma once +#ifndef _DETOURS_H_ +#define _DETOURS_H_ + +#define DETOURS_VERSION 0x4c0c1 // 0xMAJORcMINORcPATCH + +////////////////////////////////////////////////////////////////////////////// +// + +#ifdef DETOURS_INTERNAL + +#define _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS 1 +#define _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE 1 + +#pragma warning(disable:4068) // unknown pragma (suppress) + +#if _MSC_VER >= 1900 +#pragma warning(push) +#pragma warning(disable:4091) // empty typedef +#endif + +// Suppress declspec(dllimport) for the sake of Detours +// users that provide kernel32 functionality themselves. +// This is ok in the mainstream case, it will just cost +// an extra instruction calling some functions, which +// LTCG optimizes away. +// +#define _KERNEL32_ 1 +#define _USER32_ 1 + +#include +#if (_MSC_VER < 1310) +#else +#pragma warning(push) +#if _MSC_VER > 1400 +#pragma warning(disable:6102 6103) // /analyze warnings +#endif +#include +#include +#pragma warning(pop) +#endif +#include + +// Allow Detours to cleanly compile with the MingW toolchain. +// +#ifdef __GNUC__ +#define __try +#define __except(x) if (0) +#include +#include +#endif + +// From winerror.h, as this error isn't found in some SDKs: +// +// MessageId: ERROR_DYNAMIC_CODE_BLOCKED +// +// MessageText: +// +// The operation was blocked as the process prohibits dynamic code generation. +// +#define ERROR_DYNAMIC_CODE_BLOCKED 1655L + +#endif // DETOURS_INTERNAL + +////////////////////////////////////////////////////////////////////////////// +// + +#undef DETOURS_X64 +#undef DETOURS_X86 +#undef DETOURS_IA64 +#undef DETOURS_ARM +#undef DETOURS_ARM64 +#undef DETOURS_BITS +#undef DETOURS_32BIT +#undef DETOURS_64BIT + +#if defined(_X86_) +#define DETOURS_X86 +#define DETOURS_OPTION_BITS 64 + +#elif defined(_AMD64_) +#define DETOURS_X64 +#define DETOURS_OPTION_BITS 32 + +#elif defined(_IA64_) +#define DETOURS_IA64 +#define DETOURS_OPTION_BITS 32 + +#elif defined(_ARM_) +#define DETOURS_ARM + +#elif defined(_ARM64_) +#define DETOURS_ARM64 + +#else +#error Unknown architecture (x86, amd64, ia64, arm, arm64) +#endif + +#ifdef _WIN64 +#undef DETOURS_32BIT +#define DETOURS_64BIT 1 +#define DETOURS_BITS 64 +// If all 64bit kernels can run one and only one 32bit architecture. +//#define DETOURS_OPTION_BITS 32 +#else +#define DETOURS_32BIT 1 +#undef DETOURS_64BIT +#define DETOURS_BITS 32 +// If all 64bit kernels can run one and only one 32bit architecture. +//#define DETOURS_OPTION_BITS 32 +#endif + +/////////////////////////////////////////////////////////////// Helper Macros. +// +#define DETOURS_STRINGIFY_(x) #x +#define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) + +#define VER_DETOURS_BITS DETOURS_STRINGIFY(DETOURS_BITS) + +////////////////////////////////////////////////////////////////////////////// +// + +#if (_MSC_VER < 1299) && !defined(__MINGW32__) +typedef LONG LONG_PTR; +typedef ULONG ULONG_PTR; +#endif + +///////////////////////////////////////////////// SAL 2.0 Annotations w/o SAL. +// +// These definitions are include so that Detours will build even if the +// compiler doesn't have full SAL 2.0 support. +// +#ifndef DETOURS_DONT_REMOVE_SAL_20 + +#ifdef DETOURS_TEST_REMOVE_SAL_20 +#undef _Analysis_assume_ +#undef _Benign_race_begin_ +#undef _Benign_race_end_ +#undef _Field_range_ +#undef _Field_size_ +#undef _In_ +#undef _In_bytecount_ +#undef _In_count_ +#undef __in_ecount +#undef _In_opt_ +#undef _In_opt_bytecount_ +#undef _In_opt_count_ +#undef _In_opt_z_ +#undef _In_range_ +#undef _In_reads_ +#undef _In_reads_bytes_ +#undef _In_reads_opt_ +#undef _In_reads_opt_bytes_ +#undef _In_reads_or_z_ +#undef _In_z_ +#undef _Inout_ +#undef _Inout_opt_ +#undef _Inout_z_count_ +#undef _Out_ +#undef _Out_opt_ +#undef _Out_writes_ +#undef _Outptr_result_maybenull_ +#undef _Readable_bytes_ +#undef _Success_ +#undef _Writable_bytes_ +#undef _Pre_notnull_ +#endif + +#if defined(_Deref_out_opt_z_) && !defined(_Outptr_result_maybenull_) +#define _Outptr_result_maybenull_ _Deref_out_opt_z_ +#endif + +#if defined(_In_count_) && !defined(_In_reads_) +#define _In_reads_(x) _In_count_(x) +#endif + +#if defined(_In_opt_count_) && !defined(_In_reads_opt_) +#define _In_reads_opt_(x) _In_opt_count_(x) +#endif + +#if defined(_In_opt_bytecount_) && !defined(_In_reads_opt_bytes_) +#define _In_reads_opt_bytes_(x) _In_opt_bytecount_(x) +#endif + +#if defined(_In_bytecount_) && !defined(_In_reads_bytes_) +#define _In_reads_bytes_(x) _In_bytecount_(x) +#endif + +#ifndef _In_ +#define _In_ +#endif + +#ifndef _In_bytecount_ +#define _In_bytecount_(x) +#endif + +#ifndef _In_count_ +#define _In_count_(x) +#endif + +#ifndef __in_ecount +#define __in_ecount(x) +#endif + +#ifndef _In_opt_ +#define _In_opt_ +#endif + +#ifndef _In_opt_bytecount_ +#define _In_opt_bytecount_(x) +#endif + +#ifndef _In_opt_count_ +#define _In_opt_count_(x) +#endif + +#ifndef _In_opt_z_ +#define _In_opt_z_ +#endif + +#ifndef _In_range_ +#define _In_range_(x,y) +#endif + +#ifndef _In_reads_ +#define _In_reads_(x) +#endif + +#ifndef _In_reads_bytes_ +#define _In_reads_bytes_(x) +#endif + +#ifndef _In_reads_opt_ +#define _In_reads_opt_(x) +#endif + +#ifndef _In_reads_opt_bytes_ +#define _In_reads_opt_bytes_(x) +#endif + +#ifndef _In_reads_or_z_ +#define _In_reads_or_z_ +#endif + +#ifndef _In_z_ +#define _In_z_ +#endif + +#ifndef _Inout_ +#define _Inout_ +#endif + +#ifndef _Inout_opt_ +#define _Inout_opt_ +#endif + +#ifndef _Inout_z_count_ +#define _Inout_z_count_(x) +#endif + +#ifndef _Out_ +#define _Out_ +#endif + +#ifndef _Out_opt_ +#define _Out_opt_ +#endif + +#ifndef _Out_writes_ +#define _Out_writes_(x) +#endif + +#ifndef _Outptr_result_maybenull_ +#define _Outptr_result_maybenull_ +#endif + +#ifndef _Writable_bytes_ +#define _Writable_bytes_(x) +#endif + +#ifndef _Readable_bytes_ +#define _Readable_bytes_(x) +#endif + +#ifndef _Success_ +#define _Success_(x) +#endif + +#ifndef _Pre_notnull_ +#define _Pre_notnull_ +#endif + +#ifdef DETOURS_INTERNAL + +#pragma warning(disable:4615) // unknown warning type (suppress with older compilers) + +#ifndef _Benign_race_begin_ +#define _Benign_race_begin_ +#endif + +#ifndef _Benign_race_end_ +#define _Benign_race_end_ +#endif + +#ifndef _Field_size_ +#define _Field_size_(x) +#endif + +#ifndef _Field_range_ +#define _Field_range_(x,y) +#endif + +#ifndef _Analysis_assume_ +#define _Analysis_assume_(x) +#endif + +#endif // DETOURS_INTERNAL +#endif // DETOURS_DONT_REMOVE_SAL_20 + +////////////////////////////////////////////////////////////////////////////// +// +#ifndef GUID_DEFINED +#define GUID_DEFINED +typedef struct _GUID +{ + DWORD Data1; + WORD Data2; + WORD Data3; + BYTE Data4[ 8 ]; +} GUID; + +#ifdef INITGUID +#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ + const GUID name \ + = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } +#else +#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ + const GUID name +#endif // INITGUID +#endif // !GUID_DEFINED + +#if defined(__cplusplus) +#ifndef _REFGUID_DEFINED +#define _REFGUID_DEFINED +#define REFGUID const GUID & +#endif // !_REFGUID_DEFINED +#else // !__cplusplus +#ifndef _REFGUID_DEFINED +#define _REFGUID_DEFINED +#define REFGUID const GUID * const +#endif // !_REFGUID_DEFINED +#endif // !__cplusplus + +#ifndef ARRAYSIZE +#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0])) +#endif + +// +////////////////////////////////////////////////////////////////////////////// + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +/////////////////////////////////////////////////// Instruction Target Macros. +// +#define DETOUR_INSTRUCTION_TARGET_NONE ((PVOID)0) +#define DETOUR_INSTRUCTION_TARGET_DYNAMIC ((PVOID)(LONG_PTR)-1) +#define DETOUR_SECTION_HEADER_SIGNATURE 0x00727444 // "Dtr\0" + +extern const GUID DETOUR_EXE_RESTORE_GUID; +extern const GUID DETOUR_EXE_HELPER_GUID; + +#define DETOUR_TRAMPOLINE_SIGNATURE 0x21727444 // Dtr! +typedef struct _DETOUR_TRAMPOLINE DETOUR_TRAMPOLINE, *PDETOUR_TRAMPOLINE; + +#ifndef DETOUR_MAX_SUPPORTED_IMAGE_SECTION_HEADERS +#define DETOUR_MAX_SUPPORTED_IMAGE_SECTION_HEADERS 32 +#endif // !DETOUR_MAX_SUPPORTED_IMAGE_SECTION_HEADERS + +/////////////////////////////////////////////////////////// Binary Structures. +// +#pragma pack(push, 8) +typedef struct _DETOUR_SECTION_HEADER +{ + DWORD cbHeaderSize; + DWORD nSignature; + DWORD nDataOffset; + DWORD cbDataSize; + + DWORD nOriginalImportVirtualAddress; + DWORD nOriginalImportSize; + DWORD nOriginalBoundImportVirtualAddress; + DWORD nOriginalBoundImportSize; + + DWORD nOriginalIatVirtualAddress; + DWORD nOriginalIatSize; + DWORD nOriginalSizeOfImage; + DWORD cbPrePE; + + DWORD nOriginalClrFlags; + DWORD reserved1; + DWORD reserved2; + DWORD reserved3; + + // Followed by cbPrePE bytes of data. +} DETOUR_SECTION_HEADER, *PDETOUR_SECTION_HEADER; + +typedef struct _DETOUR_SECTION_RECORD +{ + DWORD cbBytes; + DWORD nReserved; + GUID guid; +} DETOUR_SECTION_RECORD, *PDETOUR_SECTION_RECORD; + +typedef struct _DETOUR_CLR_HEADER +{ + // Header versioning + ULONG cb; + USHORT MajorRuntimeVersion; + USHORT MinorRuntimeVersion; + + // Symbol table and startup information + IMAGE_DATA_DIRECTORY MetaData; + ULONG Flags; + + // Followed by the rest of the IMAGE_COR20_HEADER +} DETOUR_CLR_HEADER, *PDETOUR_CLR_HEADER; + +typedef struct _DETOUR_EXE_RESTORE +{ + DWORD cb; + DWORD cbidh; + DWORD cbinh; + DWORD cbclr; + + PBYTE pidh; + PBYTE pinh; + PBYTE pclr; + + IMAGE_DOS_HEADER idh; + union { + IMAGE_NT_HEADERS inh; // all environments have this +#ifdef IMAGE_NT_OPTIONAL_HDR32_MAGIC // some environments do not have this + IMAGE_NT_HEADERS32 inh32; +#endif +#ifdef IMAGE_NT_OPTIONAL_HDR64_MAGIC // some environments do not have this + IMAGE_NT_HEADERS64 inh64; +#endif +#ifdef IMAGE_NT_OPTIONAL_HDR64_MAGIC // some environments do not have this + BYTE raw[sizeof(IMAGE_NT_HEADERS64) + + sizeof(IMAGE_SECTION_HEADER) * DETOUR_MAX_SUPPORTED_IMAGE_SECTION_HEADERS]; +#else + BYTE raw[0x108 + sizeof(IMAGE_SECTION_HEADER) * DETOUR_MAX_SUPPORTED_IMAGE_SECTION_HEADERS]; +#endif + }; + DETOUR_CLR_HEADER clr; + +} DETOUR_EXE_RESTORE, *PDETOUR_EXE_RESTORE; + +#ifdef IMAGE_NT_OPTIONAL_HDR64_MAGIC +C_ASSERT(sizeof(IMAGE_NT_HEADERS64) == 0x108); +#endif + +// The size can change, but assert for clarity due to the muddying #ifdefs. +#ifdef _WIN64 +C_ASSERT(sizeof(DETOUR_EXE_RESTORE) == 0x688); +#else +C_ASSERT(sizeof(DETOUR_EXE_RESTORE) == 0x678); +#endif + +typedef struct _DETOUR_EXE_HELPER +{ + DWORD cb; + DWORD pid; + DWORD nDlls; + CHAR rDlls[4]; +} DETOUR_EXE_HELPER, *PDETOUR_EXE_HELPER; + +#pragma pack(pop) + +#define DETOUR_SECTION_HEADER_DECLARE(cbSectionSize) \ +{ \ + sizeof(DETOUR_SECTION_HEADER),\ + DETOUR_SECTION_HEADER_SIGNATURE,\ + sizeof(DETOUR_SECTION_HEADER),\ + (cbSectionSize),\ + \ + 0,\ + 0,\ + 0,\ + 0,\ + \ + 0,\ + 0,\ + 0,\ + 0,\ +} + +///////////////////////////////////////////////////////////// Binary Typedefs. +// +typedef BOOL (CALLBACK *PF_DETOUR_BINARY_BYWAY_CALLBACK)( + _In_opt_ PVOID pContext, + _In_opt_ LPCSTR pszFile, + _Outptr_result_maybenull_ LPCSTR *ppszOutFile); + +typedef BOOL (CALLBACK *PF_DETOUR_BINARY_FILE_CALLBACK)( + _In_opt_ PVOID pContext, + _In_ LPCSTR pszOrigFile, + _In_ LPCSTR pszFile, + _Outptr_result_maybenull_ LPCSTR *ppszOutFile); + +typedef BOOL (CALLBACK *PF_DETOUR_BINARY_SYMBOL_CALLBACK)( + _In_opt_ PVOID pContext, + _In_ ULONG nOrigOrdinal, + _In_ ULONG nOrdinal, + _Out_ ULONG *pnOutOrdinal, + _In_opt_ LPCSTR pszOrigSymbol, + _In_opt_ LPCSTR pszSymbol, + _Outptr_result_maybenull_ LPCSTR *ppszOutSymbol); + +typedef BOOL (CALLBACK *PF_DETOUR_BINARY_COMMIT_CALLBACK)( + _In_opt_ PVOID pContext); + +typedef BOOL (CALLBACK *PF_DETOUR_ENUMERATE_EXPORT_CALLBACK)(_In_opt_ PVOID pContext, + _In_ ULONG nOrdinal, + _In_opt_ LPCSTR pszName, + _In_opt_ PVOID pCode); + +typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FILE_CALLBACK)(_In_opt_ PVOID pContext, + _In_opt_ HMODULE hModule, + _In_opt_ LPCSTR pszFile); + +typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FUNC_CALLBACK)(_In_opt_ PVOID pContext, + _In_ DWORD nOrdinal, + _In_opt_ LPCSTR pszFunc, + _In_opt_ PVOID pvFunc); + +// Same as PF_DETOUR_IMPORT_FUNC_CALLBACK but extra indirection on last parameter. +typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FUNC_CALLBACK_EX)(_In_opt_ PVOID pContext, + _In_ DWORD nOrdinal, + _In_opt_ LPCSTR pszFunc, + _In_opt_ PVOID* ppvFunc); + +typedef VOID * PDETOUR_BINARY; +typedef VOID * PDETOUR_LOADED_BINARY; + +//////////////////////////////////////////////////////////// Transaction APIs. +// +LONG WINAPI DetourTransactionBegin(VOID); +LONG WINAPI DetourTransactionAbort(VOID); +LONG WINAPI DetourTransactionCommit(VOID); +LONG WINAPI DetourTransactionCommitEx(_Out_opt_ PVOID **pppFailedPointer); + +LONG WINAPI DetourUpdateThread(_In_ HANDLE hThread); + +LONG WINAPI DetourAttach(_Inout_ PVOID *ppPointer, + _In_ PVOID pDetour); + +LONG WINAPI DetourAttachEx(_Inout_ PVOID *ppPointer, + _In_ PVOID pDetour, + _Out_opt_ PDETOUR_TRAMPOLINE *ppRealTrampoline, + _Out_opt_ PVOID *ppRealTarget, + _Out_opt_ PVOID *ppRealDetour); + +LONG WINAPI DetourDetach(_Inout_ PVOID *ppPointer, + _In_ PVOID pDetour); + +BOOL WINAPI DetourSetIgnoreTooSmall(_In_ BOOL fIgnore); +BOOL WINAPI DetourSetRetainRegions(_In_ BOOL fRetain); +PVOID WINAPI DetourSetSystemRegionLowerBound(_In_ PVOID pSystemRegionLowerBound); +PVOID WINAPI DetourSetSystemRegionUpperBound(_In_ PVOID pSystemRegionUpperBound); + +////////////////////////////////////////////////////////////// Code Functions. +// +PVOID WINAPI DetourFindFunction(_In_ LPCSTR pszModule, + _In_ LPCSTR pszFunction); +PVOID WINAPI DetourCodeFromPointer(_In_ PVOID pPointer, + _Out_opt_ PVOID *ppGlobals); +PVOID WINAPI DetourCopyInstruction(_In_opt_ PVOID pDst, + _Inout_opt_ PVOID *ppDstPool, + _In_ PVOID pSrc, + _Out_opt_ PVOID *ppTarget, + _Out_opt_ LONG *plExtra); +BOOL WINAPI DetourSetCodeModule(_In_ HMODULE hModule, + _In_ BOOL fLimitReferencesToModule); +PVOID WINAPI DetourAllocateRegionWithinJumpBounds(_In_ LPCVOID pbTarget, + _Out_ PDWORD pcbAllocatedSize); +BOOL WINAPI DetourIsFunctionImported(_In_ PBYTE pbCode, + _In_ PBYTE pbAddress); + +///////////////////////////////////////////////////// Loaded Binary Functions. +// +HMODULE WINAPI DetourGetContainingModule(_In_ PVOID pvAddr); +HMODULE WINAPI DetourEnumerateModules(_In_opt_ HMODULE hModuleLast); +PVOID WINAPI DetourGetEntryPoint(_In_opt_ HMODULE hModule); +ULONG WINAPI DetourGetModuleSize(_In_opt_ HMODULE hModule); +BOOL WINAPI DetourEnumerateExports(_In_ HMODULE hModule, + _In_opt_ PVOID pContext, + _In_ PF_DETOUR_ENUMERATE_EXPORT_CALLBACK pfExport); +BOOL WINAPI DetourEnumerateImports(_In_opt_ HMODULE hModule, + _In_opt_ PVOID pContext, + _In_opt_ PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile, + _In_opt_ PF_DETOUR_IMPORT_FUNC_CALLBACK pfImportFunc); + +BOOL WINAPI DetourEnumerateImportsEx(_In_opt_ HMODULE hModule, + _In_opt_ PVOID pContext, + _In_opt_ PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile, + _In_opt_ PF_DETOUR_IMPORT_FUNC_CALLBACK_EX pfImportFuncEx); + +_Writable_bytes_(*pcbData) +_Readable_bytes_(*pcbData) +_Success_(return != NULL) +PVOID WINAPI DetourFindPayload(_In_opt_ HMODULE hModule, + _In_ REFGUID rguid, + _Out_opt_ DWORD *pcbData); + +_Writable_bytes_(*pcbData) +_Readable_bytes_(*pcbData) +_Success_(return != NULL) +PVOID WINAPI DetourFindPayloadEx(_In_ REFGUID rguid, + _Out_opt_ DWORD *pcbData); + +DWORD WINAPI DetourGetSizeOfPayloads(_In_opt_ HMODULE hModule); + +BOOL WINAPI DetourFreePayload(_In_ PVOID pvData); +///////////////////////////////////////////////// Persistent Binary Functions. +// + +PDETOUR_BINARY WINAPI DetourBinaryOpen(_In_ HANDLE hFile); + +_Writable_bytes_(*pcbData) +_Readable_bytes_(*pcbData) +_Success_(return != NULL) +PVOID WINAPI DetourBinaryEnumeratePayloads(_In_ PDETOUR_BINARY pBinary, + _Out_opt_ GUID *pGuid, + _Out_ DWORD *pcbData, + _Inout_ DWORD *pnIterator); + +_Writable_bytes_(*pcbData) +_Readable_bytes_(*pcbData) +_Success_(return != NULL) +PVOID WINAPI DetourBinaryFindPayload(_In_ PDETOUR_BINARY pBinary, + _In_ REFGUID rguid, + _Out_ DWORD *pcbData); + +PVOID WINAPI DetourBinarySetPayload(_In_ PDETOUR_BINARY pBinary, + _In_ REFGUID rguid, + _In_reads_opt_(cbData) PVOID pData, + _In_ DWORD cbData); +BOOL WINAPI DetourBinaryDeletePayload(_In_ PDETOUR_BINARY pBinary, _In_ REFGUID rguid); +BOOL WINAPI DetourBinaryPurgePayloads(_In_ PDETOUR_BINARY pBinary); +BOOL WINAPI DetourBinaryResetImports(_In_ PDETOUR_BINARY pBinary); +BOOL WINAPI DetourBinaryEditImports(_In_ PDETOUR_BINARY pBinary, + _In_opt_ PVOID pContext, + _In_opt_ PF_DETOUR_BINARY_BYWAY_CALLBACK pfByway, + _In_opt_ PF_DETOUR_BINARY_FILE_CALLBACK pfFile, + _In_opt_ PF_DETOUR_BINARY_SYMBOL_CALLBACK pfSymbol, + _In_opt_ PF_DETOUR_BINARY_COMMIT_CALLBACK pfCommit); +BOOL WINAPI DetourBinaryWrite(_In_ PDETOUR_BINARY pBinary, _In_ HANDLE hFile); +BOOL WINAPI DetourBinaryClose(_In_ PDETOUR_BINARY pBinary); + +/////////////////////////////////////////////////// Create Process & Load Dll. +// +_Success_(return != NULL) +PVOID WINAPI DetourFindRemotePayload(_In_ HANDLE hProcess, + _In_ REFGUID rguid, + _Out_opt_ DWORD *pcbData); + +typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEA)( + _In_opt_ LPCSTR lpApplicationName, + _Inout_opt_ LPSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOA lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation); + +typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEW)( + _In_opt_ LPCWSTR lpApplicationName, + _Inout_opt_ LPWSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCWSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOW lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation); + +BOOL WINAPI DetourCreateProcessWithDllA(_In_opt_ LPCSTR lpApplicationName, + _Inout_opt_ LPSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOA lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ LPCSTR lpDllName, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); + +BOOL WINAPI DetourCreateProcessWithDllW(_In_opt_ LPCWSTR lpApplicationName, + _Inout_opt_ LPWSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCWSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOW lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ LPCSTR lpDllName, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); + +#ifdef UNICODE +#define DetourCreateProcessWithDll DetourCreateProcessWithDllW +#define PDETOUR_CREATE_PROCESS_ROUTINE PDETOUR_CREATE_PROCESS_ROUTINEW +#else +#define DetourCreateProcessWithDll DetourCreateProcessWithDllA +#define PDETOUR_CREATE_PROCESS_ROUTINE PDETOUR_CREATE_PROCESS_ROUTINEA +#endif // !UNICODE + +BOOL WINAPI DetourCreateProcessWithDllExA(_In_opt_ LPCSTR lpApplicationName, + _Inout_opt_ LPSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOA lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ LPCSTR lpDllName, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); + +BOOL WINAPI DetourCreateProcessWithDllExW(_In_opt_ LPCWSTR lpApplicationName, + _Inout_opt_ LPWSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCWSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOW lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ LPCSTR lpDllName, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); + +#ifdef UNICODE +#define DetourCreateProcessWithDllEx DetourCreateProcessWithDllExW +#else +#define DetourCreateProcessWithDllEx DetourCreateProcessWithDllExA +#endif // !UNICODE + +BOOL WINAPI DetourCreateProcessWithDllsA(_In_opt_ LPCSTR lpApplicationName, + _Inout_opt_ LPSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOA lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ DWORD nDlls, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); + +BOOL WINAPI DetourCreateProcessWithDllsW(_In_opt_ LPCWSTR lpApplicationName, + _Inout_opt_ LPWSTR lpCommandLine, + _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, + _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, + _In_ BOOL bInheritHandles, + _In_ DWORD dwCreationFlags, + _In_opt_ LPVOID lpEnvironment, + _In_opt_ LPCWSTR lpCurrentDirectory, + _In_ LPSTARTUPINFOW lpStartupInfo, + _Out_ LPPROCESS_INFORMATION lpProcessInformation, + _In_ DWORD nDlls, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); + +#ifdef UNICODE +#define DetourCreateProcessWithDlls DetourCreateProcessWithDllsW +#else +#define DetourCreateProcessWithDlls DetourCreateProcessWithDllsA +#endif // !UNICODE + +BOOL WINAPI DetourProcessViaHelperA(_In_ DWORD dwTargetPid, + _In_ LPCSTR lpDllName, + _In_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); + +BOOL WINAPI DetourProcessViaHelperW(_In_ DWORD dwTargetPid, + _In_ LPCSTR lpDllName, + _In_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); + +#ifdef UNICODE +#define DetourProcessViaHelper DetourProcessViaHelperW +#else +#define DetourProcessViaHelper DetourProcessViaHelperA +#endif // !UNICODE + +BOOL WINAPI DetourProcessViaHelperDllsA(_In_ DWORD dwTargetPid, + _In_ DWORD nDlls, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); + +BOOL WINAPI DetourProcessViaHelperDllsW(_In_ DWORD dwTargetPid, + _In_ DWORD nDlls, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); + +#ifdef UNICODE +#define DetourProcessViaHelperDlls DetourProcessViaHelperDllsW +#else +#define DetourProcessViaHelperDlls DetourProcessViaHelperDllsA +#endif // !UNICODE + +BOOL WINAPI DetourUpdateProcessWithDll(_In_ HANDLE hProcess, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_ DWORD nDlls); + +BOOL WINAPI DetourUpdateProcessWithDllEx(_In_ HANDLE hProcess, + _In_ HMODULE hImage, + _In_ BOOL bIs32Bit, + _In_reads_(nDlls) LPCSTR *rlpDlls, + _In_ DWORD nDlls); + +BOOL WINAPI DetourCopyPayloadToProcess(_In_ HANDLE hProcess, + _In_ REFGUID rguid, + _In_reads_bytes_(cbData) LPCVOID pvData, + _In_ DWORD cbData); +_Success_(return != NULL) +PVOID WINAPI DetourCopyPayloadToProcessEx(_In_ HANDLE hProcess, + _In_ REFGUID rguid, + _In_reads_bytes_(cbData) LPCVOID pvData, + _In_ DWORD cbData); + +BOOL WINAPI DetourRestoreAfterWith(VOID); +BOOL WINAPI DetourRestoreAfterWithEx(_In_reads_bytes_(cbData) PVOID pvData, + _In_ DWORD cbData); +BOOL WINAPI DetourIsHelperProcess(VOID); +VOID CALLBACK DetourFinishHelperProcess(_In_ HWND, + _In_ HINSTANCE, + _In_ LPSTR, + _In_ INT); + +// +////////////////////////////////////////////////////////////////////////////// +#ifdef __cplusplus +} +#endif // __cplusplus + +/////////////////////////////////////////////////// Type-safe overloads for C++ +// +#if __cplusplus >= 201103L || _MSVC_LANG >= 201103L +#include + +template +struct DetoursIsFunctionPointer : std::false_type {}; + +template +struct DetoursIsFunctionPointer : std::is_function::type> {}; + +template< + typename T, + typename std::enable_if::value, int>::type = 0> +LONG DetourAttach(_Inout_ T *ppPointer, + _In_ T pDetour) noexcept +{ + return DetourAttach( + reinterpret_cast(ppPointer), + reinterpret_cast(pDetour)); +} + +template< + typename T, + typename std::enable_if::value, int>::type = 0> +LONG DetourAttachEx(_Inout_ T *ppPointer, + _In_ T pDetour, + _Out_opt_ PDETOUR_TRAMPOLINE *ppRealTrampoline, + _Out_opt_ T *ppRealTarget, + _Out_opt_ T *ppRealDetour) noexcept +{ + return DetourAttachEx( + reinterpret_cast(ppPointer), + reinterpret_cast(pDetour), + ppRealTrampoline, + reinterpret_cast(ppRealTarget), + reinterpret_cast(ppRealDetour)); +} + +template< + typename T, + typename std::enable_if::value, int>::type = 0> +LONG DetourDetach(_Inout_ T *ppPointer, + _In_ T pDetour) noexcept +{ + return DetourDetach( + reinterpret_cast(ppPointer), + reinterpret_cast(pDetour)); +} + +#endif // __cplusplus >= 201103L || _MSVC_LANG >= 201103L +// +////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////// Detours Internal Definitions. +// +#ifdef __cplusplus +#ifdef DETOURS_INTERNAL + +#define NOTHROW +// #define NOTHROW (nothrow) + +////////////////////////////////////////////////////////////////////////////// +// +#if (_MSC_VER < 1299) && !defined(__GNUC__) +#include +typedef IMAGEHLP_MODULE IMAGEHLP_MODULE64; +typedef PIMAGEHLP_MODULE PIMAGEHLP_MODULE64; +typedef IMAGEHLP_SYMBOL SYMBOL_INFO; +typedef PIMAGEHLP_SYMBOL PSYMBOL_INFO; + +static inline +LONG InterlockedCompareExchange(_Inout_ LONG *ptr, _In_ LONG nval, _In_ LONG oval) +{ + return (LONG)::InterlockedCompareExchange((PVOID*)ptr, (PVOID)nval, (PVOID)oval); +} +#else +#pragma warning(push) +#pragma warning(disable:4091) // empty typedef +#include +#pragma warning(pop) +#endif + +#ifdef IMAGEAPI // defined by DBGHELP.H +typedef LPAPI_VERSION (NTAPI *PF_ImagehlpApiVersionEx)(_In_ LPAPI_VERSION AppVersion); + +typedef BOOL (NTAPI *PF_SymInitialize)(_In_ HANDLE hProcess, + _In_opt_ LPCSTR UserSearchPath, + _In_ BOOL fInvadeProcess); +typedef DWORD (NTAPI *PF_SymSetOptions)(_In_ DWORD SymOptions); +typedef DWORD (NTAPI *PF_SymGetOptions)(VOID); +typedef DWORD64 (NTAPI *PF_SymLoadModule64)(_In_ HANDLE hProcess, + _In_opt_ HANDLE hFile, + _In_opt_ LPSTR ImageName, + _In_opt_ LPSTR ModuleName, + _In_ DWORD64 BaseOfDll, + _In_ DWORD SizeOfDll); +typedef BOOL (NTAPI *PF_SymGetModuleInfo64)(_In_ HANDLE hProcess, + _In_ DWORD64 qwAddr, + _Out_ PIMAGEHLP_MODULE64 ModuleInfo); +typedef BOOL (NTAPI *PF_SymFromName)(_In_ HANDLE hProcess, + _In_ LPSTR Name, + _Out_ PSYMBOL_INFO Symbol); + +typedef struct _DETOUR_SYM_INFO +{ + HANDLE hProcess; + HMODULE hDbgHelp; + PF_ImagehlpApiVersionEx pfImagehlpApiVersionEx; + PF_SymInitialize pfSymInitialize; + PF_SymSetOptions pfSymSetOptions; + PF_SymGetOptions pfSymGetOptions; + PF_SymLoadModule64 pfSymLoadModule64; + PF_SymGetModuleInfo64 pfSymGetModuleInfo64; + PF_SymFromName pfSymFromName; +} DETOUR_SYM_INFO, *PDETOUR_SYM_INFO; + +PDETOUR_SYM_INFO DetourLoadImageHlp(VOID); + +#endif // IMAGEAPI + +#if defined(_INC_STDIO) && !defined(_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS) +#error detours.h must be included before stdio.h (or at least define _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS earlier) +#endif +#define _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS 1 + +#ifdef _DEBUG + +int Detour_AssertExprWithFunctionName(int reportType, const char* filename, int linenumber, const char* FunctionName, const char* msg); + +#define DETOUR_ASSERT_EXPR_WITH_FUNCTION(expr, msg) \ + (void) ((expr) || \ + (1 != Detour_AssertExprWithFunctionName(_CRT_ASSERT, __FILE__, __LINE__,__FUNCTION__, msg)) || \ + (_CrtDbgBreak(), 0)) + +#define DETOUR_ASSERT(expr) DETOUR_ASSERT_EXPR_WITH_FUNCTION((expr), #expr) + +#else// _DEBUG +#define DETOUR_ASSERT(expr) +#endif// _DEBUG + +#ifndef DETOUR_TRACE +#if DETOUR_DEBUG +#define DETOUR_TRACE(x) printf x +#define DETOUR_BREAK() __debugbreak() +#include +#include +#else +#define DETOUR_TRACE(x) +#define DETOUR_BREAK() +#endif +#endif + +#if 1 || defined(DETOURS_IA64) + +// +// IA64 instructions are 41 bits, 3 per bundle, plus 5 bit bundle template => 128 bits per bundle. +// + +#define DETOUR_IA64_INSTRUCTIONS_PER_BUNDLE (3) + +#define DETOUR_IA64_TEMPLATE_OFFSET (0) +#define DETOUR_IA64_TEMPLATE_SIZE (5) + +#define DETOUR_IA64_INSTRUCTION_SIZE (41) +#define DETOUR_IA64_INSTRUCTION0_OFFSET (DETOUR_IA64_TEMPLATE_SIZE) +#define DETOUR_IA64_INSTRUCTION1_OFFSET (DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTION_SIZE) +#define DETOUR_IA64_INSTRUCTION2_OFFSET (DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTION_SIZE + DETOUR_IA64_INSTRUCTION_SIZE) + +C_ASSERT(DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTIONS_PER_BUNDLE * DETOUR_IA64_INSTRUCTION_SIZE == 128); + +__declspec(align(16)) struct DETOUR_IA64_BUNDLE +{ + public: + union + { + BYTE data[16]; + UINT64 wide[2]; + }; + + enum { + A_UNIT = 1u, + I_UNIT = 2u, + M_UNIT = 3u, + B_UNIT = 4u, + F_UNIT = 5u, + L_UNIT = 6u, + X_UNIT = 7u, + }; + struct DETOUR_IA64_METADATA + { + ULONG nTemplate : 8; // Instruction template. + ULONG nUnit0 : 4; // Unit for slot 0 + ULONG nUnit1 : 4; // Unit for slot 1 + ULONG nUnit2 : 4; // Unit for slot 2 + }; + + protected: + static const DETOUR_IA64_METADATA s_rceCopyTable[33]; + + UINT RelocateBundle(_Inout_ DETOUR_IA64_BUNDLE* pDst, _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra) const; + + bool RelocateInstruction(_Inout_ DETOUR_IA64_BUNDLE* pDst, + _In_ BYTE slot, + _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra) const; + + // 120 112 104 96 88 80 72 64 56 48 40 32 24 16 8 0 + // f. e. d. c. b. a. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. + + // 00 + // f.e. d.c. b.a. 9.8. 7.6. 5.4. 3.2. 1.0. + // 0000 0000 0000 0000 0000 0000 0000 001f : Template [4..0] + // 0000 0000 0000 0000 0000 03ff ffff ffe0 : Zero [ 41.. 5] + // 0000 0000 0000 0000 0000 3c00 0000 0000 : Zero [ 45.. 42] + // 0000 0000 0007 ffff ffff c000 0000 0000 : One [ 82.. 46] + // 0000 0000 0078 0000 0000 0000 0000 0000 : One [ 86.. 83] + // 0fff ffff ff80 0000 0000 0000 0000 0000 : Two [123.. 87] + // f000 0000 0000 0000 0000 0000 0000 0000 : Two [127..124] + BYTE GetTemplate() const; + // Get 4 bit opcodes. + BYTE GetInst0() const; + BYTE GetInst1() const; + BYTE GetInst2() const; + BYTE GetUnit(BYTE slot) const; + BYTE GetUnit0() const; + BYTE GetUnit1() const; + BYTE GetUnit2() const; + // Get 37 bit data. + UINT64 GetData0() const; + UINT64 GetData1() const; + UINT64 GetData2() const; + + // Get/set the full 41 bit instructions. + UINT64 GetInstruction(BYTE slot) const; + UINT64 GetInstruction0() const; + UINT64 GetInstruction1() const; + UINT64 GetInstruction2() const; + void SetInstruction(BYTE slot, UINT64 instruction); + void SetInstruction0(UINT64 instruction); + void SetInstruction1(UINT64 instruction); + void SetInstruction2(UINT64 instruction); + + // Get/set bitfields. + static UINT64 GetBits(UINT64 Value, UINT64 Offset, UINT64 Count); + static UINT64 SetBits(UINT64 Value, UINT64 Offset, UINT64 Count, UINT64 Field); + + // Get specific read-only fields. + static UINT64 GetOpcode(UINT64 instruction); // 4bit opcode + static UINT64 GetX(UINT64 instruction); // 1bit opcode extension + static UINT64 GetX3(UINT64 instruction); // 3bit opcode extension + static UINT64 GetX6(UINT64 instruction); // 6bit opcode extension + + // Get/set specific fields. + static UINT64 GetImm7a(UINT64 instruction); + static UINT64 SetImm7a(UINT64 instruction, UINT64 imm7a); + static UINT64 GetImm13c(UINT64 instruction); + static UINT64 SetImm13c(UINT64 instruction, UINT64 imm13c); + static UINT64 GetSignBit(UINT64 instruction); + static UINT64 SetSignBit(UINT64 instruction, UINT64 signBit); + static UINT64 GetImm20a(UINT64 instruction); + static UINT64 SetImm20a(UINT64 instruction, UINT64 imm20a); + static UINT64 GetImm20b(UINT64 instruction); + static UINT64 SetImm20b(UINT64 instruction, UINT64 imm20b); + + static UINT64 SignExtend(UINT64 Value, UINT64 Offset); + + BOOL IsMovlGp() const; + + VOID SetInst(BYTE Slot, BYTE nInst); + VOID SetInst0(BYTE nInst); + VOID SetInst1(BYTE nInst); + VOID SetInst2(BYTE nInst); + VOID SetData(BYTE Slot, UINT64 nData); + VOID SetData0(UINT64 nData); + VOID SetData1(UINT64 nData); + VOID SetData2(UINT64 nData); + BOOL SetNop(BYTE Slot); + BOOL SetNop0(); + BOOL SetNop1(); + BOOL SetNop2(); + + public: + BOOL IsBrl() const; + VOID SetBrl(); + VOID SetBrl(UINT64 target); + UINT64 GetBrlTarget() const; + VOID SetBrlTarget(UINT64 target); + VOID SetBrlImm(UINT64 imm); + UINT64 GetBrlImm() const; + + UINT64 GetMovlGp() const; + VOID SetMovlGp(UINT64 gp); + + VOID SetStop(); + + UINT Copy(_Out_ DETOUR_IA64_BUNDLE *pDst, _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra = NULL) const; +}; +#endif // DETOURS_IA64 + +#ifdef DETOURS_ARM + +#define DETOURS_PFUNC_TO_PBYTE(p) ((PBYTE)(((ULONG_PTR)(p)) & ~(ULONG_PTR)1)) +#define DETOURS_PBYTE_TO_PFUNC(p) ((PBYTE)(((ULONG_PTR)(p)) | (ULONG_PTR)1)) + +#endif // DETOURS_ARM + +////////////////////////////////////////////////////////////////////////////// + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +#define DETOUR_OFFLINE_LIBRARY(x) \ +PVOID WINAPI DetourCopyInstruction##x(_In_opt_ PVOID pDst, \ + _Inout_opt_ PVOID *ppDstPool, \ + _In_ PVOID pSrc, \ + _Out_opt_ PVOID *ppTarget, \ + _Out_opt_ LONG *plExtra); \ + \ +BOOL WINAPI DetourSetCodeModule##x(_In_ HMODULE hModule, \ + _In_ BOOL fLimitReferencesToModule); \ + +DETOUR_OFFLINE_LIBRARY(X86) +DETOUR_OFFLINE_LIBRARY(X64) +DETOUR_OFFLINE_LIBRARY(ARM) +DETOUR_OFFLINE_LIBRARY(ARM64) +DETOUR_OFFLINE_LIBRARY(IA64) + +#undef DETOUR_OFFLINE_LIBRARY + +////////////////////////////////////////////////////////////////////////////// +// +// Helpers for manipulating page protection. +// + +_Success_(return != FALSE) +BOOL WINAPI DetourVirtualProtectSameExecuteEx(_In_ HANDLE hProcess, + _In_ PVOID pAddress, + _In_ SIZE_T nSize, + _In_ DWORD dwNewProtect, + _Out_ PDWORD pdwOldProtect); + +_Success_(return != FALSE) +BOOL WINAPI DetourVirtualProtectSameExecute(_In_ PVOID pAddress, + _In_ SIZE_T nSize, + _In_ DWORD dwNewProtect, + _Out_ PDWORD pdwOldProtect); + +// Detours must depend only on kernel32.lib, so we cannot use IsEqualGUID +BOOL WINAPI DetourAreSameGuid(_In_ REFGUID left, _In_ REFGUID right); +#ifdef __cplusplus +} +#endif // __cplusplus + +////////////////////////////////////////////////////////////////////////////// + +#define MM_ALLOCATION_GRANULARITY 0x10000 + +////////////////////////////////////////////////////////////////////////////// + +#endif // DETOURS_INTERNAL +#endif // __cplusplus + +#endif // _DETOURS_H_ +// +//////////////////////////////////////////////////////////////// End of File. diff --git a/detours.lib b/detours.lib new file mode 100644 index 0000000000000000000000000000000000000000..d95e0282ec41fcfd701345aec94fa64f3bed0d51 GIT binary patch literal 700738 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

I=&@K3UR@M=a$NGq!!sg6a**XQ&C*@3m_*Kpn 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%0DZbd!Ze#u3EZbkpZVUT}n6ex# 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 U-;Fm=Ra64Dtgk*&ai(_v2atupS^xk5 literal 0 HcmV?d00001 diff --git a/helpers.h b/helpers.h new file mode 100644 index 0000000..e8ccb2e --- /dev/null +++ b/helpers.h @@ -0,0 +1,22 @@ +#pragma once + +struct Color +{ + Color(unsigned char _r, unsigned char _g, unsigned char _b, unsigned char _a) + { + r = _r; + g = _g; + b = _b; + a = _a; + } + + unsigned char r; + unsigned char g; + unsigned char b; + unsigned char a; +}; + +#define UNREACHABLE __assume(0) + +typedef void (*LogFunc)(const Color& clr, const char* msg, ...); +LogFunc Log = nullptr; \ No newline at end of file diff --git a/hook.h b/hook.h new file mode 100644 index 0000000..78865c7 --- /dev/null +++ b/hook.h @@ -0,0 +1,51 @@ +#pragma optimize("", off) + +Offset offset_server_econItemSchema = 0x9D2534; + +typedef bool (*crypto_verifySignature)(uint8_t*, uint8_t, uint8_t*, uint8_t, uint8_t*, uint8_t*); +ADDR_GAME( + crypto_verifySignature, + "CCrypto::RSAVerifySignatureSHA256", + \x55\x8B\xEC\x6A\xFF\x68\x2A\x2A\x2A\x2A\x64\xA1\x00\x00\x00\x00\x50\x64\x89\x25\x00\x00\x00\x00\x81\xEC\xCC\x00\x00\x00, + xxxxxx????xxxxxxxxxxxxxxxxxxxx +); +bool hook_crypto_verifySignature(uint8_t*, uint8_t, uint8_t*, uint8_t, uint8_t*, uint8_t*) +{ + return true; +} + +typedef void (__fastcall *econItemSystem_parseItemSchemaFile)(void*, void*, const char*); +ADDR_GAME( + econItemSystem_parseItemSchemaFile, + "CEconItemSystem::ParseItemSchemaFile", + \x55\x8B\xEC\x83\xEC\x14\x8B\x41\x04\x8D\x55\xEC\x83\xC1\x04\xC7\x45\xEC\x00\x00\x00\x00\x52\x68\x2A\x2A\x2A\x2A, + xxxxxxxxxxxxxxxxxxxxxxxx???? +); +const char* g_CustomItemsGame = "scripts/items/items_game_custom.txt"; +void __fastcall hook_server_econItemSystem_parseItemSchemaFile(void* thisptr, void* edx, const char* name) +{ + name = g_CustomItemsGame; + Log(Color(0, 255, 127, 255), "[Server] Loading %s...\n", name); + address_econItemSystem_parseItemSchemaFile[MOD_SERVER](thisptr, edx, name); +} +void __fastcall hook_client_econItemSystem_parseItemSchemaFile(void* thisptr, void* edx, const char* name) +{ + name = g_CustomItemsGame; + Log(Color(0, 255, 127, 255), "[Client] Loading %s...\n", name); + address_econItemSystem_parseItemSchemaFile[MOD_CLIENT](thisptr, edx, name); + hook_server_econItemSystem_parseItemSchemaFile(*((void**)(modules[MOD_SERVER].base + offset_server_econItemSchema)), edx, name); +} + +typedef bool (__fastcall* gcUpdateItemSchema_runJob)(void*, void*, void*); +ADDR_GAME( + gcUpdateItemSchema_runJob, + "CGCUpdateItemSchema::BYieldingRunGCJob", + \x55\x8B\xEC\x83\xEC\x1C\x53\x57\x8B\xF9\x8D\x4D\xE4, + xxxxxxxxxxxxx +); +void __fastcall hook_gcUpdateItemSchema_runJob(void* thisptr, void* edx, const char* name) +{ + Log(Color(0, 255, 127, 255), "Blocked item schema update from GC\n"); +} + +#pragma optimize("", on) \ No newline at end of file diff --git a/iplugin.h b/iplugin.h new file mode 100644 index 0000000..20c6854 --- /dev/null +++ b/iplugin.h @@ -0,0 +1,48 @@ +#pragma once + +#define INTERFACEVERSION_IPLUGIN "ISERVERPLUGINCALLBACKS003" + +class edict_t; +class CCommand; +enum EQueryCvarValueStatus; + +typedef void* (*CreateInterfaceFn)(const char *pName, int *pReturnCode); +typedef int QueryCvarCookie_t; + +enum PluginResult +{ + PLUGIN_CONTINUE = 0, + PLUGIN_OVERRIDE, + PLUGIN_STOP +}; + +enum InterfaceResult +{ + IFACE_OK = 0, + IFACE_FAILED +}; + +class IPlugin +{ +public: + virtual bool Load(CreateInterfaceFn interfaceFactory, CreateInterfaceFn gameServerFactory) = 0; + virtual void Unload(void) = 0; + virtual void Pause(void) = 0; + virtual void UnPause(void) = 0; + virtual const char* GetPluginDescription(void) = 0; + virtual void LevelInit(char const* pMapName) = 0; + virtual void ServerActivate(edict_t* pEdictList, int edictCount, int clientMax) = 0; + virtual void GameFrame(bool simulating) = 0; + virtual void LevelShutdown(void) = 0; + virtual void ClientActive(edict_t* pEntity) = 0; + virtual void ClientDisconnect(edict_t* pEntity) = 0; + virtual void ClientPutInServer(edict_t* pEntity, char const* playername) = 0; + virtual void SetCommandClient(int index) = 0; + virtual void ClientSettingsChanged(edict_t* pEdict) = 0; + virtual PluginResult ClientConnect(bool* bAllowConnect, edict_t* pEntity, const char* pszName, const char* pszAddress, char* reject, int maxrejectlen) = 0; + virtual PluginResult ClientCommand(edict_t* pEntity, const CCommand& args) = 0; + virtual PluginResult NetworkIDValidated(const char* pszUserName, const char* pszNetworkID) = 0; + virtual void OnQueryCvarValueFinished(QueryCvarCookie_t iCookie, edict_t* pPlayerEntity, EQueryCvarValueStatus eStatus, const char* pCvarName, const char* pCvarValue) = 0; + virtual void OnEdictAllocated(edict_t* edict) = 0; + virtual void OnEdictFreed(const edict_t* edict) = 0; +}; diff --git a/module.h b/module.h new file mode 100644 index 0000000..25a15fd --- /dev/null +++ b/module.h @@ -0,0 +1,51 @@ +#pragma once + +enum ModuleName +{ + MOD_INVALID = -1, + + MOD_CLIENT, + MOD_SERVER, + //MOD_ENGINE, + + MOD_MAX, +}; + +struct ModuleInfo +{ + const char* name; + intptr_t base; + intptr_t size; + + bool Find() + { + char modName[MAX_PATH]; + sprintf(modName, "%s.%s", name, "dll"); + + MODULEINFO modinfo = { 0 }; + HMODULE module = GetModuleHandle(modName); + + if (!module) + { + Log(Color(255, 0, 0, 255), "Failed to get module info for %s\n", modName); + return false; + } + + GetModuleInformation(GetCurrentProcess(), module, &modinfo, sizeof(MODULEINFO)); + base = (intptr_t)modinfo.lpBaseOfDll; + size = (intptr_t)modinfo.SizeOfImage; + + Log(Color(255, 100, 200, 255), "Found module info for %s: Start: 0x%X End: 0x%X (%X)\n", + modName, base, base + size, size); + return true; + } +}; + +#define MODULE(name) #name, 0, 0 + +ModuleInfo modules[MOD_MAX] = +{ + MODULE(client), + MODULE(server), + //MODULE(engine), +}; \ No newline at end of file diff --git a/plugin.cpp b/plugin.cpp new file mode 100644 index 0000000..2834fb2 --- /dev/null +++ b/plugin.cpp @@ -0,0 +1,145 @@ +#define _CRT_SECURE_NO_WARNINGS + +#include +#include + +#define WIN32_LEAN_AND_MEAN +#include +#include +#include "detours.h" + +#include "iplugin.h" + +#include "helpers.h" +#include "module.h" +#include "address.h" +#include "hook.h" + +class CPlugin : public IPlugin +{ +public: + virtual bool Load(CreateInterfaceFn interfaceFactory, CreateInterfaceFn gameServerFactory); + virtual void Unload(void); + virtual void Pause(void) {} + virtual void UnPause(void) {} + virtual const char* GetPluginDescription(void) { return "Schema Sig Bypasser"; } + virtual void LevelInit(char const* pMapName) {} + virtual void ServerActivate(edict_t* pEdictList, int edictCount, int clientMax) {} + virtual void GameFrame(bool simulating) {} + virtual void LevelShutdown(void) {} + virtual void ClientActive(edict_t* pEntity) {} + virtual void ClientDisconnect(edict_t* pEntity) {} + virtual void ClientPutInServer(edict_t* pEntity, char const* playername) {} + virtual void SetCommandClient(int index) {} + virtual void ClientSettingsChanged(edict_t* pEdict) {} + virtual PluginResult ClientConnect(bool* bAllowConnect, edict_t* pEntity, const char* pszName, const char* pszAddress, char* reject, int maxrejectlen) { return PLUGIN_CONTINUE; } + virtual PluginResult ClientCommand(edict_t* pEntity, const CCommand& args) { return PLUGIN_CONTINUE; } + virtual PluginResult NetworkIDValidated(const char* pszUserName, const char* pszNetworkID) { return PLUGIN_CONTINUE; } + virtual void OnQueryCvarValueFinished(QueryCvarCookie_t iCookie, edict_t* pPlayerEntity, EQueryCvarValueStatus eStatus, const char* pCvarName, const char* pCvarValue) {} + virtual void OnEdictAllocated(edict_t* edict) {} + virtual void OnEdictFreed(const edict_t* edict) {} + + bool FindLog(); + bool FindModules(); + bool FindAddresses(); + void LoadDetours(); + void UnloadDetours(); +}; + +CPlugin g_Plugin; + +extern "C" __declspec(dllexport) void* CreateInterface(const char* pName, int* pReturnCode) +{ + if (!strcmp(INTERFACEVERSION_IPLUGIN, pName)) + { + if (pReturnCode) + *pReturnCode = IFACE_OK; + return static_cast(&g_Plugin); + } + + if (pReturnCode) + *pReturnCode = IFACE_FAILED; + return nullptr; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + return TRUE; +} + +bool CPlugin::Load(CreateInterfaceFn interfaceFactory, CreateInterfaceFn gameServerFactory) +{ + if (!FindLog()) + return false; + + if (!FindModules()) + return false; + + if (!FindAddresses()) + return false; + + LoadDetours(); + + Log(Color(0, 255, 0, 255), "Loaded Schema Sig Bypasser plugin successfully\n"); + + return true; +} + +void CPlugin::Unload() +{ + UnloadDetours(); +} + +bool CPlugin::FindLog() +{ + HMODULE Handle = LoadLibrary("tier0.dll"); + if (!Handle) + return false; + + Log = (LogFunc)GetProcAddress(Handle, "?ConColorMsg@@YAXABVColor@@PBDZZ"); + if (!Log) + return false; + + FreeLibrary(Handle); + return true; +} + +bool CPlugin::FindModules() +{ + bool failed = false; + for (ModuleInfo& mod : modules) + failed |= !mod.Find(); + return !failed; +} + +bool CPlugin::FindAddresses() +{ + bool failed = false; + for (AddressBase* addr : addresses) + failed |= !addr->Find(); + return !failed; +} + +void CPlugin::LoadDetours() +{ + DetourTransactionBegin(); + DetourUpdateThread(GetCurrentThread()); + + DETOUR_LOAD(crypto_verifySignature); + DETOUR_LOAD(gcUpdateItemSchema_runJob); + DETOUR_LOAD_GAME(econItemSystem_parseItemSchemaFile); + + DetourTransactionCommit(); +} + +void CPlugin::UnloadDetours() +{ + DetourTransactionBegin(); + DetourUpdateThread(GetCurrentThread()); + + DETOUR_UNLOAD(crypto_verifySignature); + DETOUR_UNLOAD(gcUpdateItemSchema_runJob); + DETOUR_UNLOAD_GAME(econItemSystem_parseItemSchemaFile); + + DetourTransactionCommit(); +} \ No newline at end of file