From b354932d3da35e54429e856b35217aec38e12638 Mon Sep 17 00:00:00 2001 From: somewhatlurker <52014015+somewhatlurker@users.noreply.github.com> Date: Sun, 6 Oct 2019 01:41:40 +1000 Subject: [PATCH] add ShaderPatch config UI, clean up some plugin dependencies --- .../PluginConfigApi}/PluginConfigApi.h | 0 .../plugins/DivaSound/DivaSound.vcxproj | 9 +- .../DivaSound/DivaSound.vcxproj.filters | 3 - .../DivaSound/detours/include/detours.h | 1108 ----------------- .../DivaSound/detours/include/detver.h | 27 - .../DivaSound/detours/include/syelog.h | 89 -- .../plugins/DivaSound/detours/lib/detours.lib | Bin 689904 -> 0 bytes .../plugins/DivaSound/detours/lib/syelog.lib | Bin 48298 -> 0 bytes .../source/plugins/Launcher/Launcher.vcxproj | 5 +- .../source/plugins/Launcher/PluginConfigApi.h | 168 --- .../plugins/ShaderPatch/ShaderPatch.vcxproj | 4 +- .../plugins/ShaderPatch/src/dllmain.cpp | 78 +- 12 files changed, 73 insertions(+), 1418 deletions(-) rename source-code/{source/plugins/DivaSound/src => dependencies/PluginConfigApi}/PluginConfigApi.h (100%) delete mode 100644 source-code/source/plugins/DivaSound/detours/include/detours.h delete mode 100644 source-code/source/plugins/DivaSound/detours/include/detver.h delete mode 100644 source-code/source/plugins/DivaSound/detours/include/syelog.h delete mode 100644 source-code/source/plugins/DivaSound/detours/lib/detours.lib delete mode 100644 source-code/source/plugins/DivaSound/detours/lib/syelog.lib delete mode 100644 source-code/source/plugins/Launcher/PluginConfigApi.h diff --git a/source-code/source/plugins/DivaSound/src/PluginConfigApi.h b/source-code/dependencies/PluginConfigApi/PluginConfigApi.h similarity index 100% rename from source-code/source/plugins/DivaSound/src/PluginConfigApi.h rename to source-code/dependencies/PluginConfigApi/PluginConfigApi.h diff --git a/source-code/source/plugins/DivaSound/DivaSound.vcxproj b/source-code/source/plugins/DivaSound/DivaSound.vcxproj index d49c39a..2e1569b 100644 --- a/source-code/source/plugins/DivaSound/DivaSound.vcxproj +++ b/source-code/source/plugins/DivaSound/DivaSound.vcxproj @@ -43,13 +43,9 @@ - $(VC_IncludePath);$(WindowsSDK_IncludePath);detours/include;miniaudio;bassasio - $(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;detours/lib;bassasio .dva - $(VC_IncludePath);$(WindowsSDK_IncludePath);detours/include;miniaudio;bassasio - $(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;detours/lib;bassasio .dva @@ -57,9 +53,11 @@ Level3 Disabled true + ..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;miniaudio;bassasio detours.lib;syelog.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\..\dependencies\detours\lib;bassasio @@ -70,11 +68,13 @@ true true stdcpp17 + ..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;miniaudio;bassasio true true detours.lib;syelog.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\..\dependencies\detours\lib;bassasio @@ -82,7 +82,6 @@ - diff --git a/source-code/source/plugins/DivaSound/DivaSound.vcxproj.filters b/source-code/source/plugins/DivaSound/DivaSound.vcxproj.filters index 99a4edb..3d3bf67 100644 --- a/source-code/source/plugins/DivaSound/DivaSound.vcxproj.filters +++ b/source-code/source/plugins/DivaSound/DivaSound.vcxproj.filters @@ -23,8 +23,5 @@ Header Files - - Header Files - \ No newline at end of file diff --git a/source-code/source/plugins/DivaSound/detours/include/detours.h b/source-code/source/plugins/DivaSound/detours/include/detours.h deleted file mode 100644 index 29e59c4..0000000 --- a/source-code/source/plugins/DivaSound/detours/include/detours.h +++ /dev/null @@ -1,1108 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// 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 - -#include -#if (_MSC_VER < 1310) -#else -#pragma warning(push) -#if _MSC_VER > 1400 -#pragma warning(disable:6102 6103) // /analyze warnings -#endif -#include -#pragma warning(pop) -#endif - -#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 - -#define VER_DETOURS_BITS DETOUR_STRINGIFY(DETOURS_BITS) - -////////////////////////////////////////////////////////////////////////////// -// - -#if (_MSC_VER < 1299) -//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_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_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; - -/////////////////////////////////////////////////////////// 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) * 32]; -#else - BYTE raw[0x108 + sizeof(IMAGE_SECTION_HEADER) * 32]; -#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,\ -} - -/////////////////////////////////////////////////////////////// Helper Macros. -// -#define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) -#define DETOURS_STRINGIFY_(x) #x - -///////////////////////////////////////////////////////////// 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); - -///////////////////////////////////////////////////// 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_ DWORD *pcbData); - -_Writable_bytes_(*pcbData) -_Readable_bytes_(*pcbData) -_Success_(return != NULL) -PVOID WINAPI DetourFindPayloadEx(_In_ REFGUID rguid, - _Out_ DWORD * pcbData); - -DWORD WINAPI DetourGetSizeOfPayloads(_In_opt_ HMODULE hModule); - -///////////////////////////////////////////////// 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. -// -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) PVOID 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 - -//////////////////////////////////////////////// Detours Internal Definitions. -// -#ifdef __cplusplus -#ifdef DETOURS_INTERNAL - -#define NOTHROW -// #define NOTHROW (nothrow) - -////////////////////////////////////////////////////////////////////////////// -// -#if (_MSC_VER < 1299) -#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_ LPSTR ImageName, - _In_opt_ LPSTR ModuleName, - _In_ DWORD64 BaseOfDll, - _In_opt_ 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 - -#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); -#ifdef __cplusplus -} -#endif // __cplusplus - -////////////////////////////////////////////////////////////////////////////// - -#define MM_ALLOCATION_GRANULARITY 0x10000 - -////////////////////////////////////////////////////////////////////////////// - -#endif // DETOURS_INTERNAL -#endif // __cplusplus - -#endif // _DETOURS_H_ -// -//////////////////////////////////////////////////////////////// End of File. diff --git a/source-code/source/plugins/DivaSound/detours/include/detver.h b/source-code/source/plugins/DivaSound/detours/include/detver.h deleted file mode 100644 index f0aae9b..0000000 --- a/source-code/source/plugins/DivaSound/detours/include/detver.h +++ /dev/null @@ -1,27 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Common version parameters. -// -// Microsoft Research Detours Package, Version 4.0.1 -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// - -#define _USING_V110_SDK71_ 1 -#include "winver.h" -#if 0 -#include -#include -#else -#ifndef DETOURS_STRINGIFY -#define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) -#define DETOURS_STRINGIFY_(x) #x -#endif - -#define VER_FILEFLAGSMASK 0x3fL -#define VER_FILEFLAGS 0x0L -#define VER_FILEOS 0x00040004L -#define VER_FILETYPE 0x00000002L -#define VER_FILESUBTYPE 0x00000000L -#endif -#define VER_DETOURS_BITS DETOUR_STRINGIFY(DETOURS_BITS) diff --git a/source-code/source/plugins/DivaSound/detours/include/syelog.h b/source-code/source/plugins/DivaSound/detours/include/syelog.h deleted file mode 100644 index 7cfa9f3..0000000 --- a/source-code/source/plugins/DivaSound/detours/include/syelog.h +++ /dev/null @@ -1,89 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Detours Test Program (syelog.h of syelog.lib) -// -// Microsoft Research Detours Package -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// -#pragma once -#ifndef _SYELOGD_H_ -#define _SYELOGD_H_ -#include - -#pragma pack(push, 1) -#pragma warning(push) -#pragma warning(disable: 4200) - -////////////////////////////////////////////////////////////////////////////// -// -// -#define SYELOG_PIPE_NAMEA "\\\\.\\pipe\\syelog" -#define SYELOG_PIPE_NAMEW L"\\\\.\\pipe\\syelog" -#ifdef UNICODE -#define SYELOG_PIPE_NAME SYELOG_PIPE_NAMEW -#else -#define SYELOG_PIPE_NAME SYELOG_PIPE_NAMEA -#endif - -////////////////////////////////////////////////////////////////////////////// -// -#define SYELOG_MAXIMUM_MESSAGE 4086 // 4096 - sizeof(header stuff) - -typedef struct _SYELOG_MESSAGE -{ - USHORT nBytes; - BYTE nFacility; - BYTE nSeverity; - DWORD nProcessId; - FILETIME ftOccurance; - BOOL fTerminate; - CHAR szMessage[SYELOG_MAXIMUM_MESSAGE]; -} SYELOG_MESSAGE, *PSYELOG_MESSAGE; - - -// Facility Codes. -// -#define SYELOG_FACILITY_KERNEL 0x10 // OS Kernel -#define SYELOG_FACILITY_SECURITY 0x20 // OS Security -#define SYELOG_FACILITY_LOGGING 0x30 // OS Logging-internal -#define SYELOG_FACILITY_SERVICE 0x40 // User-mode system daemon -#define SYELOG_FACILITY_APPLICATION 0x50 // User-mode application -#define SYELOG_FACILITY_USER 0x60 // User self-generated. -#define SYELOG_FACILITY_LOCAL0 0x70 // Locally defined. -#define SYELOG_FACILITY_LOCAL1 0x71 // Locally defined. -#define SYELOG_FACILITY_LOCAL2 0x72 // Locally defined. -#define SYELOG_FACILITY_LOCAL3 0x73 // Locally defined. -#define SYELOG_FACILITY_LOCAL4 0x74 // Locally defined. -#define SYELOG_FACILITY_LOCAL5 0x75 // Locally defined. -#define SYELOG_FACILITY_LOCAL6 0x76 // Locally defined. -#define SYELOG_FACILITY_LOCAL7 0x77 // Locally defined. -#define SYELOG_FACILITY_LOCAL8 0x78 // Locally defined. -#define SYELOG_FACILITY_LOCAL9 0x79 // Locally defined. - -// Severity Codes. -// -#define SYELOG_SEVERITY_FATAL 0x00 // System is dead. -#define SYELOG_SEVERITY_ALERT 0x10 // Take action immediately. -#define SYELOG_SEVERITY_CRITICAL 0x20 // Critical condition. -#define SYELOG_SEVERITY_ERROR 0x30 // Error -#define SYELOG_SEVERITY_WARNING 0x40 // Warning -#define SYELOG_SEVERITY_NOTICE 0x50 // Significant condition. -#define SYELOG_SEVERITY_INFORMATION 0x60 // Informational -#define SYELOG_SEVERITY_AUDIT_FAIL 0x66 // Audit Failed -#define SYELOG_SEVERITY_AUDIT_PASS 0x67 // Audit Succeeeded -#define SYELOG_SEVERITY_DEBUG 0x70 // Debugging - -// Logging Functions. -// -VOID SyelogOpen(PCSTR pszIdentifier, BYTE nFacility); -VOID Syelog(BYTE nSeverity, PCSTR pszMsgf, ...); -VOID SyelogV(BYTE nSeverity, PCSTR pszMsgf, va_list args); -VOID SyelogClose(BOOL fTerminate); - -#pragma warning(pop) -#pragma pack(pop) - -#endif // _SYELOGD_H_ -// -///////////////////////////////////////////////////////////////// End of File. diff --git a/source-code/source/plugins/DivaSound/detours/lib/detours.lib b/source-code/source/plugins/DivaSound/detours/lib/detours.lib deleted file mode 100644 index 13ac97b3fb2035d6a543537a66e3bd7dc9298b13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 689904 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


lROoC6Jy)(oVTiq{|J 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ⅅ|GC24jt%x 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

tA(0 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 Disabled _DEBUG;%(PreprocessorDefinitions) - ..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories) + ..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories) stdcpp17 @@ -142,7 +142,7 @@ Level3 NDEBUG;%(PreprocessorDefinitions) - ..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories) + ..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories) stdcpp17 @@ -168,7 +168,6 @@ - diff --git a/source-code/source/plugins/Launcher/PluginConfigApi.h b/source-code/source/plugins/Launcher/PluginConfigApi.h deleted file mode 100644 index d0ffd94..0000000 --- a/source-code/source/plugins/Launcher/PluginConfigApi.h +++ /dev/null @@ -1,168 +0,0 @@ -#pragma once -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#include -#include - -// resolution class to store and sort the width and height easily -class resolution -{ -public: - unsigned int width; - unsigned int height; - - resolution() - { - width = 0; - height = 0; - } - - resolution(unsigned int width, unsigned int height) - { - resolution::width = width; - resolution::height = height; - } - - bool operator ==(const resolution &res2) - { - return width == res2.width && height == res2.height; - } - - // in comparisons width takes priority because it's usually displayed first - bool operator <(const resolution &res2) - { - if (width == res2.width) - return height < res2.height; - else - return width < res2.width; - } - bool operator >(const resolution &res2) - { - if (width == res2.width) - return height > res2.height; - else - return width > res2.width; - } -}; - -namespace PluginConfig -{ -#pragma pack(push, 1) - enum ConfigType { - CONFIG_BOOLEAN, - CONFIG_NUMERIC, - CONFIG_STRING, - CONFIG_DROPDOWN_INDEX, - CONFIG_DROPDOWN_TEXT, - CONFIG_DROPDOWN_NUMBER, - CONFIG_RESOLUTION, - CONFIG_GROUP_START, - CONFIG_GROUP_END, - CONFIG_BUTTON, - CONFIG_SPACER - }; - - struct PluginConfigBooleanData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - bool defaultVal; - bool saveAsString; - }; - - struct PluginConfigNumericData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - int defaultVal; - int minVal; - int maxVal; - }; - - struct PluginConfigStringData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - LPCWSTR defaultVal; - bool useUtf8; - }; - - struct PluginConfigDropdownIndexData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - int defaultVal; - std::vector valueStrings; - }; - - struct PluginConfigDropdownTextData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - LPCWSTR defaultVal; - std::vector valueStrings; - bool editable; - bool useUtf8; - }; - - struct PluginConfigDropdownNumberData { - LPCWSTR iniVarName; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - int defaultVal; - std::vector valueInts; - bool editable; - }; - - struct PluginConfigResolutionData { - LPCWSTR iniVarName; - LPCWSTR iniVarName2; - LPCWSTR iniSectionName; - LPCWSTR iniFilePath; - LPCWSTR friendlyName; - LPCWSTR description; - resolution defaultVal; - std::vector valueResolutions; - bool editable; - }; - - struct PluginConfigGroupData - { - LPCWSTR name; - int height; - }; - - struct PluginConfigButtonData { - LPCWSTR friendlyName; - LPCWSTR description; - void(*func)(); - }; - - struct PluginConfigSpacerData { - int height; - }; - - struct PluginConfigOption - { - ConfigType cfgType; - void* data; - }; - - struct PluginConfigArray - { - int len; - PluginConfigOption* options; - }; -#pragma pack(pop) -} \ No newline at end of file diff --git a/source-code/source/plugins/ShaderPatch/ShaderPatch.vcxproj b/source-code/source/plugins/ShaderPatch/ShaderPatch.vcxproj index 4f10798..b015031 100644 --- a/source-code/source/plugins/ShaderPatch/ShaderPatch.vcxproj +++ b/source-code/source/plugins/ShaderPatch/ShaderPatch.vcxproj @@ -86,7 +86,7 @@ Level3 Disabled true - ..\..\..\dependencies\detours\include + ..\..\..\dependencies\detours\include;..\..\..\dependencies\PluginConfigApi ..\..\..\dependencies\detours\lib @@ -112,7 +112,7 @@ true true true - ..\..\..\dependencies\detours\include + ..\..\..\dependencies\detours\include;..\..\..\dependencies\PluginConfigApi true diff --git a/source-code/source/plugins/ShaderPatch/src/dllmain.cpp b/source-code/source/plugins/ShaderPatch/src/dllmain.cpp index d61bdfd..4298df6 100644 --- a/source-code/source/plugins/ShaderPatch/src/dllmain.cpp +++ b/source-code/source/plugins/ShaderPatch/src/dllmain.cpp @@ -2,7 +2,7 @@ #include #include "framework.h" -//#include "PluginConfigApi.h" +#include "PluginConfigApi.h" #include "detours.h" #pragma comment(lib, "detours.lib") @@ -250,7 +250,7 @@ BOOL APIENTRY DllMain(HMODULE hModule, DetourTransactionCommit(); loadGpuName(); - printf("[ShaderPatch] Detected GPU: %s\n", gpuName); + printf("[ShaderPatch] Detected GPU: %s\n", gpuName.c_str()); //Sleep(2000); LoadConfig(); @@ -259,14 +259,66 @@ BOOL APIENTRY DllMain(HMODULE hModule, } -//using namespace PluginConfig; -// -//extern "C" __declspec(dllexport) LPCWSTR GetPluginName(void) -//{ -// return L"ShaderPatch"; -//} -// -//extern "C" __declspec(dllexport) LPCWSTR GetPluginDescription(void) -//{ -// return L"Automatically patches shaders"; -//} \ No newline at end of file +using namespace PluginConfig; + +extern "C" __declspec(dllexport) LPCWSTR GetPluginName(void) +{ + return L"ShaderPatch"; +} + +extern "C" __declspec(dllexport) LPCWSTR GetPluginDescription(void) +{ + return L"Automatically patches shaders"; +} + +std::vector configVec; +extern "C" __declspec(dllexport) PluginConfigArray GetPluginOptions(void) +{ + LoadConfig(); + + for (std::map::iterator iter = configMap.begin(); iter != configMap.end(); ++iter) + { + std::string k = iter->first; + std::string v = iter->second; + + if (k.size() < 6 || k.substr(k.size() - 5, 4) != "_val") + { + WCHAR utf16key[128]; + WCHAR utf16val[128]; + + // count values to approximate the group size + int valNum = 0; + int valCount = 0; + std::string valKey; + while (valNum++, valKey = k + "_val" + std::to_string(valNum), + configMap.find(valKey) != configMap.end()) // loop until there's no more config values set + { + valCount++; + } + + + MultiByteToWideChar(CP_UTF8, 0, k.c_str(), -1, utf16key, 128); + + configVec.push_back({ CONFIG_GROUP_START, new PluginConfigGroupData{ _wcsdup(utf16key), 45 + valCount * 25 } }); + configVec.push_back({ CONFIG_BOOLEAN, new PluginConfigBooleanData{ _wcsdup(utf16key), L"config", CONFIG_FILE, L"Enable", L"", false, false } }); + + + valNum = 0; + while (valNum++, valKey = k + "_val" + std::to_string(valNum), + configMap.find(valKey) != configMap.end()) // loop until there's no more config values set + { + MultiByteToWideChar(CP_UTF8, 0, valKey.c_str(), -1, utf16key, 128); + MultiByteToWideChar(CP_UTF8, 0, configMap[valKey].c_str(), -1, utf16val, 128); + + std::wstring name = std::wstring(L"Value ") + std::to_wstring(valNum) + L":"; + configVec.push_back({ CONFIG_STRING, new PluginConfigStringData{ _wcsdup(utf16key), L"config", CONFIG_FILE, _wcsdup(name.c_str()), L"", _wcsdup(utf16val), false } }); + } + + + configVec.push_back({ CONFIG_GROUP_END, NULL }); + configVec.push_back({ CONFIG_SPACER, new PluginConfigSpacerData{ 10 } }); + } + } + + return PluginConfigArray{ (int)configVec.size(), &configVec[0] }; +} \ No newline at end of file