summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-06-16 18:45:11 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-06-16 18:45:14 +0200
commit5ac625d7bdff6b6318058f396f0fa1641bb6e807 (patch)
treefd2ca1d17e38ae9e87ae8b100ba912fa9c51e7ac /src/plugins
parent1d902a4621b3d952c1e8dff959e9489239b6995f (diff)
format: fix hooksystem
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/HookSystem.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/HookSystem.cpp b/src/plugins/HookSystem.cpp
index 309590b5..e6bd354b 100644
--- a/src/plugins/HookSystem.cpp
+++ b/src/plugins/HookSystem.cpp
@@ -14,9 +14,8 @@ CFunctionHook::CFunctionHook(HANDLE owner, void* source, void* destination) {
}
CFunctionHook::~CFunctionHook() {
- if (m_bActive) {
+ if (m_bActive)
unhook();
- }
}
size_t CFunctionHook::getInstructionLenAt(void* start) {
@@ -101,7 +100,7 @@ bool CFunctionHook::hook() {
memcpy(m_pOriginalBytes, m_pSource, HOOKSIZE);
// populate trampoline
- memcpy(m_pTrampolineAddr, m_pSource, HOOKSIZE); // first, original func bytes
+ memcpy(m_pTrampolineAddr, m_pSource, HOOKSIZE); // first, original func bytes
memcpy((uint8_t*)m_pTrampolineAddr + HOOKSIZE, PUSH_RAX, sizeof(PUSH_RAX)); // then, pushq %rax
memcpy((uint8_t*)m_pTrampolineAddr + HOOKSIZE + sizeof(PUSH_RAX), ABSOLUTE_JMP_ADDRESS, sizeof(ABSOLUTE_JMP_ADDRESS)); // then, jump to source
@@ -117,7 +116,8 @@ bool CFunctionHook::hook() {
}
// fixup trampoline addr
- *(uint64_t*)((uint8_t*)m_pTrampolineAddr + TRAMPOLINE_SIZE - sizeof(ABSOLUTE_JMP_ADDRESS) + ABSOLUTE_JMP_ADDRESS_OFFSET) = (uint64_t)((uint8_t*)m_pSource + sizeof(ABSOLUTE_JMP_ADDRESS));
+ *(uint64_t*)((uint8_t*)m_pTrampolineAddr + TRAMPOLINE_SIZE - sizeof(ABSOLUTE_JMP_ADDRESS) + ABSOLUTE_JMP_ADDRESS_OFFSET) =
+ (uint64_t)((uint8_t*)m_pSource + sizeof(ABSOLUTE_JMP_ADDRESS));
// make jump to hk
mprotect((uint8_t*)m_pSource - ((uint64_t)m_pSource) % sysconf(_SC_PAGE_SIZE), sysconf(_SC_PAGE_SIZE), PROT_READ | PROT_WRITE | PROT_EXEC);