From efde9d70539152fc044dbd0531c75883a05df7d9 Mon Sep 17 00:00:00 2001 From: Ayuto Date: Mon, 1 Feb 2021 20:09:19 +0100 Subject: [PATCH 1/6] Remove redundant cpp files --- .../include/conventions/x86MsCdecl.cpp | 129 ---------------- .../include/conventions/x86MsStdcall.cpp | 136 ----------------- .../include/conventions/x86MsThiscall.cpp | 142 ------------------ 3 files changed, 407 deletions(-) delete mode 100644 src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.cpp delete mode 100644 src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.cpp delete mode 100644 src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.cpp diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.cpp b/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.cpp deleted file mode 100644 index 29dd3aa87..000000000 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/** -* ============================================================================= -* DynamicHooks -* Copyright (C) 2015 Robin Gohmert. All rights reserved. -* ============================================================================= -* -* This software is provided 'as-is', without any express or implied warranty. -* In no event will the authors be held liable for any damages arising from -* the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software in a -* product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -* asm.h/cpp from devmaster.net (thanks cybermind) edited by pRED* to handle gcc -* -fPIC thunks correctly -* -* Idea and trampoline code taken from DynDetours (thanks your-name-here). -*/ - -// ============================================================================ -// >> INCLUDES -// ============================================================================ -#include "x86MsCdecl.h" -#include - - -// ============================================================================ -// >> x86MsCdecl -// ============================================================================ -x86MsCdecl::x86MsCdecl(std::vector vecArgTypes, DataType_t returnType, int iAlignment) : - ICallingConvention(vecArgTypes, returnType, iAlignment) -{ - int iSize = GetDataTypeSize(m_returnType); - if (iSize > 4) - { - m_pReturnBuffer = malloc(iSize); - } - else - { - m_pReturnBuffer = NULL; - } -} - -x86MsCdecl::~x86MsCdecl() -{ - if (m_pReturnBuffer) - { - free(m_pReturnBuffer); - } -} - -std::list x86MsCdecl::GetRegisters() -{ - std::list registers; - - registers.push_back(ESP); - - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - { - registers.push_back(ST0); - } - else - { - registers.push_back(EAX); - if (m_pReturnBuffer) - { - registers.push_back(EDX); - } - } - - return registers; -} - -int x86MsCdecl::GetPopSize() -{ - return 0; -} - -void* x86MsCdecl::GetArgumentPtr(int iIndex, CRegisters* pRegisters) -{ - int iOffset = 4; - for(int i=0; i < iIndex; i++) - { - iOffset += GetDataTypeSize(m_vecArgTypes[i], m_iAlignment); - } - - return (void *) (pRegisters->m_esp->GetValue() + iOffset); -} - -void x86MsCdecl::ArgumentPtrChanged(int iIndex, CRegisters* pRegisters, void* pArgumentPtr) -{ -} - -void* x86MsCdecl::GetReturnPtr(CRegisters* pRegisters) -{ - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - return pRegisters->m_st0->m_pAddress; - - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(m_pReturnBuffer, pRegisters->m_eax, 4); - memcpy((void *) ((unsigned long) m_pReturnBuffer + 4), pRegisters->m_edx, 4); - return m_pReturnBuffer; - } - - return pRegisters->m_eax->m_pAddress; -} - -void x86MsCdecl::ReturnPtrChanged(CRegisters* pRegisters, void* pReturnPtr) -{ - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(pRegisters->m_eax, m_pReturnBuffer, 4); - memcpy(pRegisters->m_edx, (void *) ((unsigned long) m_pReturnBuffer + 4), 4); - } -} \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.cpp b/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.cpp deleted file mode 100644 index 7441c52e7..000000000 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/** -* ============================================================================= -* DynamicHooks -* Copyright (C) 2015 Robin Gohmert. All rights reserved. -* ============================================================================= -* -* This software is provided 'as-is', without any express or implied warranty. -* In no event will the authors be held liable for any damages arising from -* the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software in a -* product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -* asm.h/cpp from devmaster.net (thanks cybermind) edited by pRED* to handle gcc -* -fPIC thunks correctly -* -* Idea and trampoline code taken from DynDetours (thanks your-name-here). -*/ - -// ============================================================================ -// >> INCLUDES -// ============================================================================ -#include "x86MsStdcall.h" -#include - - -// ============================================================================ -// >> x86MsStdcall -// ============================================================================ -x86MsStdcall::x86MsStdcall(std::vector vecArgTypes, DataType_t returnType, int iAlignment) : - ICallingConvention(vecArgTypes, returnType, iAlignment) -{ - int iSize = GetDataTypeSize(m_returnType); - if (iSize > 4) - { - m_pReturnBuffer = malloc(iSize); - } - else - { - m_pReturnBuffer = NULL; - } -} - -x86MsStdcall::~x86MsStdcall() -{ - if (m_pReturnBuffer) - { - free(m_pReturnBuffer); - } -} - -std::list x86MsStdcall::GetRegisters() -{ - std::list registers; - - registers.push_back(ESP); - - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - { - registers.push_back(ST0); - } - else - { - registers.push_back(EAX); - if (m_pReturnBuffer) - { - registers.push_back(EDX); - } - } - - return registers; -} - -int x86MsStdcall::GetPopSize() -{ - int iPopSize = 0; - - for(unsigned int i=0; i < m_vecArgTypes.size(); i++) - { - iPopSize += GetDataTypeSize(m_vecArgTypes[i], m_iAlignment); - } - - return iPopSize; -} - -void* x86MsStdcall::GetArgumentPtr(int iIndex, CRegisters* pRegisters) -{ - int iOffset = 4; - for(int i=0; i < iIndex; i++) - { - iOffset += GetDataTypeSize(m_vecArgTypes[i], m_iAlignment); - } - - return (void *) (pRegisters->m_esp->GetValue() + iOffset); -} - -void x86MsStdcall::ArgumentPtrChanged(int iIndex, CRegisters* pRegisters, void* pArgumentPtr) -{ -} - -void* x86MsStdcall::GetReturnPtr(CRegisters* pRegisters) -{ - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - return pRegisters->m_st0->m_pAddress; - - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(m_pReturnBuffer, pRegisters->m_eax, 4); - memcpy((void *) ((unsigned long) m_pReturnBuffer + 4), pRegisters->m_edx, 4); - return m_pReturnBuffer; - } - - return pRegisters->m_eax->m_pAddress; -} - -void x86MsStdcall::ReturnPtrChanged(CRegisters* pRegisters, void* pReturnPtr) -{ - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(pRegisters->m_eax, m_pReturnBuffer, 4); - memcpy(pRegisters->m_edx, (void *) ((unsigned long) m_pReturnBuffer + 4), 4); - } -} \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.cpp b/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.cpp deleted file mode 100644 index 8dcc27880..000000000 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.cpp +++ /dev/null @@ -1,142 +0,0 @@ -/** -* ============================================================================= -* DynamicHooks -* Copyright (C) 2015 Robin Gohmert. All rights reserved. -* ============================================================================= -* -* This software is provided 'as-is', without any express or implied warranty. -* In no event will the authors be held liable for any damages arising from -* the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software in a -* product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -* asm.h/cpp from devmaster.net (thanks cybermind) edited by pRED* to handle gcc -* -fPIC thunks correctly -* -* Idea and trampoline code taken from DynDetours (thanks your-name-here). -*/ - -// ============================================================================ -// >> INCLUDES -// ============================================================================ -#include "x86MsThiscall.h" -#include - - -// ============================================================================ -// >> x86MsThiscall -// ============================================================================ -x86MsThiscall::x86MsThiscall(std::vector vecArgTypes, DataType_t returnType, int iAlignment) : - ICallingConvention(vecArgTypes, returnType, iAlignment) -{ - int iSize = GetDataTypeSize(m_returnType); - if (iSize > 4) - { - m_pReturnBuffer = malloc(iSize); - } - else - { - m_pReturnBuffer = NULL; - } -} - -x86MsThiscall::~x86MsThiscall() -{ - if (m_pReturnBuffer) - { - free(m_pReturnBuffer); - } -} - -std::list x86MsThiscall::GetRegisters() -{ - std::list registers; - - registers.push_back(ESP); - registers.push_back(ECX); - - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - { - registers.push_back(ST0); - } - else - { - registers.push_back(EAX); - if (m_pReturnBuffer) - { - registers.push_back(EDX); - } - } - - return registers; -} - -int x86MsThiscall::GetPopSize() -{ - int iPopSize = 0; - - for(unsigned int i=1; i <= m_vecArgTypes.size() - 1; i++) - { - iPopSize += GetDataTypeSize(m_vecArgTypes[i], m_iAlignment); - } - - return iPopSize; -} - -void* x86MsThiscall::GetArgumentPtr(int iIndex, CRegisters* pRegisters) -{ - if (iIndex == 0) - { - return pRegisters->m_ecx->m_pAddress; - } - - int iOffset = 4; - for(int i=1; i < iIndex; i++) - { - iOffset += GetDataTypeSize(m_vecArgTypes[i], m_iAlignment); - } - - return (void *) (pRegisters->m_esp->GetValue() + iOffset); -} - -void x86MsThiscall::ArgumentPtrChanged(int iIndex, CRegisters* pRegisters, void* pArgumentPtr) -{ -} - -void* x86MsThiscall::GetReturnPtr(CRegisters* pRegisters) -{ - if (m_returnType == DATA_TYPE_FLOAT || m_returnType == DATA_TYPE_DOUBLE) - return pRegisters->m_st0->m_pAddress; - - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(m_pReturnBuffer, pRegisters->m_eax, 4); - memcpy((void *) ((unsigned long) m_pReturnBuffer + 4), pRegisters->m_edx, 4); - return m_pReturnBuffer; - } - - return pRegisters->m_eax->m_pAddress; -} - -void x86MsThiscall::ReturnPtrChanged(CRegisters* pRegisters, void* pReturnPtr) -{ - if (m_pReturnBuffer) - { - // First half in eax, second half in edx - memcpy(pRegisters->m_eax, m_pReturnBuffer, 4); - memcpy(pRegisters->m_edx, (void *) ((unsigned long) m_pReturnBuffer + 4), 4); - } -} \ No newline at end of file From 3eaaa05ecc540ad50d83558e8249094168e6ca45 Mon Sep 17 00:00:00 2001 From: Ayuto Date: Mon, 1 Feb 2021 20:09:33 +0100 Subject: [PATCH 2/6] Updated dynamic hooks --- src/thirdparty/DynamicHooks/include/hook.h | 32 ++++++++++++------ .../DynamicHooks/lib/DynamicHooks.lib | Bin 747050 -> 747262 bytes 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/thirdparty/DynamicHooks/include/hook.h b/src/thirdparty/DynamicHooks/include/hook.h index 36589c149..2a5452c91 100644 --- a/src/thirdparty/DynamicHooks/include/hook.h +++ b/src/thirdparty/DynamicHooks/include/hook.h @@ -114,42 +114,51 @@ class CHook @param pFunc The hook handler that should be checked. */ bool IsCallbackRegistered(HookType_t type, HookHandlerFn* pFunc); + + + /* + Return the CRegisters pointer based on m_bUsePreRegister. It returns + m_pRegisterPre in a pre-hook and m_pRegisterPost in a post-hook. + */ + CRegisters* GetRegisters(); template T GetArgument(int iIndex) { - return *(T *) m_pCallingConvention->GetArgumentPtr(iIndex, m_pRegisters); + return *(T *) m_pCallingConvention->GetArgumentPtr(iIndex, GetRegisters()); } template void SetArgument(int iIndex, T value) { - void* pPtr = m_pCallingConvention->GetArgumentPtr(iIndex, m_pRegisters); + CRegisters* pRegisters = GetRegisters(); + void* pPtr = m_pCallingConvention->GetArgumentPtr(iIndex, pRegisters); *(T *) pPtr = value; - m_pCallingConvention->ArgumentPtrChanged(iIndex, m_pRegisters, pPtr); + m_pCallingConvention->ArgumentPtrChanged(iIndex, pRegisters, pPtr); } template T GetReturnValue() { - return *(T *) m_pCallingConvention->GetReturnPtr(m_pRegisters); + return *(T *) m_pCallingConvention->GetReturnPtr(GetRegisters()); } template void SetReturnValue(T value) { - void* pPtr = m_pCallingConvention->GetReturnPtr(m_pRegisters); + CRegisters* pRegisters = GetRegisters(); + void* pPtr = m_pCallingConvention->GetReturnPtr(pRegisters); *(T *) pPtr = value; - m_pCallingConvention->ReturnPtrChanged(m_pRegisters, pPtr); + m_pCallingConvention->ReturnPtrChanged(pRegisters, pPtr); } private: void* CreateBridge(); void Write_ModifyReturnAddress(Assembler& a); - void Write_CallHandler(Assembler& a, HookType_t type); - void Write_SaveRegisters(Assembler& a); - void Write_RestoreRegisters(Assembler& a); + void Write_CallHandler(Assembler& a, HookType_t type, CRegisters* pRegisters); + void Write_SaveRegisters(Assembler& a, CRegisters* pRegisters); + void Write_RestoreRegisters(Assembler& a, CRegisters* pRegisters); void* CreatePostCallback(); @@ -173,12 +182,15 @@ class CHook void* m_pTrampoline; // Register storage - CRegisters* m_pRegisters; + CRegisters* m_pRegistersPre; + CRegisters* m_pRegistersPost; // New return address void* m_pNewRetAddr; std::map > m_RetAddr; + + bool m_bUsePreRegisters; }; #endif // _HOOK_H \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/lib/DynamicHooks.lib b/src/thirdparty/DynamicHooks/lib/DynamicHooks.lib index cce7b33bee10eb409b8bcc5fd081fcff71b8152a..75aa8c3fa2b1e2180956734ee1814c2ee00b19c7 100644 GIT binary patch delta 53048 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 delta 51892 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 bB1-CPiOSlNTpXwszOrO%RI=9Y>! Date: Mon, 1 Feb 2021 20:23:45 +0100 Subject: [PATCH 3/6] Disable caching --- src/core/modules/memory/memory_hooks.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/modules/memory/memory_hooks.cpp b/src/core/modules/memory/memory_hooks.cpp index f23800a0c..01c39660e 100755 --- a/src/core/modules/memory/memory_hooks.cpp +++ b/src/core/modules/memory/memory_hooks.cpp @@ -173,9 +173,10 @@ object CStackData::GetItem(unsigned int iIndex) BOOST_RAISE_EXCEPTION(PyExc_IndexError, "Index out of range.") // Argument already cached? - object retval = m_mapCache[iIndex]; - if (retval) - return retval; + object retval; + //object retval = m_mapCache[iIndex]; + //if (retval) + // return retval; switch(m_pHook->m_pCallingConvention->m_vecArgTypes[iIndex]) { @@ -196,7 +197,7 @@ object CStackData::GetItem(unsigned int iIndex) case DATA_TYPE_STRING: retval = GetArgument(m_pHook, iIndex); break; default: BOOST_RAISE_EXCEPTION(PyExc_TypeError, "Unknown type.") break; } - m_mapCache[iIndex] = retval; + //m_mapCache[iIndex] = retval; return retval; } @@ -206,7 +207,7 @@ void CStackData::SetItem(unsigned int iIndex, object value) BOOST_RAISE_EXCEPTION(PyExc_IndexError, "Index out of range.") // Update cache - m_mapCache[iIndex] = value; + //m_mapCache[iIndex] = value; switch(m_pHook->m_pCallingConvention->m_vecArgTypes[iIndex]) { case DATA_TYPE_BOOL: SetArgument(m_pHook, iIndex, value); break; From 121c0387f605b5672bf488fd237d0c1699c5dda0 Mon Sep 17 00:00:00 2001 From: Ayuto Date: Mon, 1 Feb 2021 20:24:06 +0100 Subject: [PATCH 4/6] Added the possibility to access pre-registers in a post-hook --- src/core/modules/memory/memory_hooks.h | 14 ++++++++++++-- src/core/modules/memory/memory_wrap.cpp | 5 +++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/core/modules/memory/memory_hooks.h b/src/core/modules/memory/memory_hooks.h index c01efd4e9..7cc9ecd50 100644 --- a/src/core/modules/memory/memory_hooks.h +++ b/src/core/modules/memory/memory_hooks.h @@ -51,20 +51,30 @@ class CStackData void SetItem(unsigned int iIndex, object value); CRegisters* GetRegisters() - { return m_pHook->m_pRegisters; } + { return m_pHook->GetRegisters(); } str __repr__() { return str(tuple(ptr(this))); } void* GetReturnAddress() { - void* pESP = m_pHook->m_pRegisters->m_esp->GetValue(); + void* pESP = m_pHook->GetRegisters()->m_esp->GetValue(); if (m_pHook->m_RetAddr.count(pESP) == 0) { return NULL; } return m_pHook->m_RetAddr[pESP].back(); } + bool GetUsePreRegister() + { + return m_pHook->m_bUsePreRegisters; + } + + void SetUsePreRegisters(bool value) + { + m_pHook->m_bUsePreRegisters = value; + } + protected: CHook* m_pHook; std::map m_mapCache; diff --git a/src/core/modules/memory/memory_wrap.cpp b/src/core/modules/memory/memory_wrap.cpp index 593e27f94..828d9942a 100755 --- a/src/core/modules/memory/memory_wrap.cpp +++ b/src/core/modules/memory/memory_wrap.cpp @@ -635,6 +635,11 @@ void export_stack_data(scope _memory) .add_property("registers", make_function(&CStackData::GetRegisters, reference_existing_object_policy()) ) + + .add_property( + "use_pre_registers", + &CStackData::GetUsePreRegister, + &CStackData::SetUsePreRegisters) ; } From eef7b840e343411f249e5c4f68650c6920fd8cde Mon Sep 17 00:00:00 2001 From: Ayuto Date: Mon, 1 Feb 2021 21:09:34 +0100 Subject: [PATCH 5/6] Added context manager to temporarily set use_pre_registers --- .../packages/source-python/memory/hooks.py | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/addons/source-python/packages/source-python/memory/hooks.py b/addons/source-python/packages/source-python/memory/hooks.py index 1c45bc113..f4ac953f2 100644 --- a/addons/source-python/packages/source-python/memory/hooks.py +++ b/addons/source-python/packages/source-python/memory/hooks.py @@ -26,7 +26,8 @@ 'PreHook', 'set_hooks_disabled', 'get_hooks_disabled', - 'hooks_disabled' + 'hooks_disabled', + 'use_pre_registers', ) @@ -86,6 +87,56 @@ class PostHook(_Hook): # ============================================================================= # >> FUNCTIONS # ============================================================================= +@contextmanager +def use_pre_registers(stack_data, value=True): + """Temporarily set ``StackData.use_pre_registers`` to the given value. + When the context ends, the previous value is restored. + + Some functions overwrite CPU registers during their execution with values + from their internal calculations. In a post-hook, you have access to the + modified CPU registers, but in some cases you might want to access the + registers that were saved before the pre-hook was called. In that case you + can use this context manager to get access to the previous state of the + registers. On Windows this is often required when hooking THISCALL + functions, because the this-pointer is saved in the CPU register ``ECX``, + but gets overwritten during the execution of the hooked function. So, in a + post-hook you won't have access to the this-pointer anymore. + + Example (CS:S/Windows): + + .. code:: python + + from entities.hooks import EntityCondition + from entities.hooks import EntityPostHook + from entities.hooks import EntityPreHook + + from memory.hooks import use_pre_registers + + @EntityPreHook(EntityCondition.is_player, 'drop_weapon') + def pre_on_drop_weapon(stack_data): + print(f'PRE: this = {stack_data[0].address}') + + @EntityPostHook(EntityCondition.is_player, 'drop_weapon') + def post_on_drop_weapon(stack_data, ret_val): + print(f'POST FALSE: this = {stack_data[0].address}') + with use_pre_registers(stack_data): + print(f'POST CORRECT: this = {stack_data[0].address}') + + Output: + + .. code:: + + PRE: this = 546778280 + POST FALSE: this = 16439007 + POST CORRECT: this = 546778280 + """ + old = stack_data.use_pre_registers + stack_data.use_pre_registers = value + try: + yield + finally: + stack_data.use_pre_registers = old + @contextmanager def hooks_disabled(disabled=True): """Temporarily disable or enable all hook callbacks. By default hooks are From be55d6d6db2b5e04fdf99ac4bb1888dca037ba31 Mon Sep 17 00:00:00 2001 From: Ayuto Date: Sat, 6 Feb 2021 14:05:12 +0100 Subject: [PATCH 6/6] Updated DynamicHooks --- .../include/conventions/x86MsCdecl.h | 1 + .../include/conventions/x86MsFastcall.h | 1 + .../include/conventions/x86MsStdcall.h | 1 + .../include/conventions/x86MsThiscall.h | 1 + .../DynamicHooks/lib/DynamicHooks.lib | Bin 747262 -> 747838 bytes .../DynamicHooks/lib/libDynamicHooks.a | Bin 489148 -> 490204 bytes 6 files changed, 4 insertions(+) diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.h b/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.h index 612b70662..846ec4579 100644 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.h +++ b/src/thirdparty/DynamicHooks/include/conventions/x86MsCdecl.h @@ -77,6 +77,7 @@ class x86MsCdecl: public ICallingConvention private: void* m_pReturnBuffer; + int* m_pOffsets; }; #endif // _X86_MS_CDECL_H \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsFastcall.h b/src/thirdparty/DynamicHooks/include/conventions/x86MsFastcall.h index f6e7e04c0..34340f687 100755 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsFastcall.h +++ b/src/thirdparty/DynamicHooks/include/conventions/x86MsFastcall.h @@ -78,6 +78,7 @@ class x86MsFastcall: public ICallingConvention private: void* m_pReturnBuffer; + int* m_pOffsets; }; #endif // _X86_MS_FASTCALL_H \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.h b/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.h index 1f8653439..2cd997ac6 100644 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.h +++ b/src/thirdparty/DynamicHooks/include/conventions/x86MsStdcall.h @@ -77,6 +77,7 @@ class x86MsStdcall: public ICallingConvention private: void* m_pReturnBuffer; + int* m_pOffsets; }; #endif // _X86_MS_STDCALL_H \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.h b/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.h index 90cbf6033..0308fd5de 100644 --- a/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.h +++ b/src/thirdparty/DynamicHooks/include/conventions/x86MsThiscall.h @@ -78,6 +78,7 @@ class x86MsThiscall: public ICallingConvention private: void* m_pReturnBuffer; + int* m_pOffsets; }; #endif // _X86_MS_THISCALL_H \ No newline at end of file diff --git a/src/thirdparty/DynamicHooks/lib/DynamicHooks.lib b/src/thirdparty/DynamicHooks/lib/DynamicHooks.lib index 75aa8c3fa2b1e2180956734ee1814c2ee00b19c7..62a0b0eecc9cf935a8ef9e6787f7262fda82c91b 100644 GIT binary patch delta 43393 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 delta 43621 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 diff --git a/src/thirdparty/DynamicHooks/lib/libDynamicHooks.a b/src/thirdparty/DynamicHooks/lib/libDynamicHooks.a index 3d2cd55f1287dfba7d5d06be31ab4072098102d3..ed615be3ed401ac05a7b85dd3a89a2cd23472807 100644 GIT binary patch delta 65523 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 Mb@kE01>PI}KjV+W#sB~S delta 63654 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