summaryrefslogtreecommitdiff
path: root/src/plugins/HookSystem.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-02-27 18:34:44 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-02-27 18:34:53 +0000
commitc5d741fb39416f6e2fd35cabe1afbd87f510058b (patch)
tree4a9923f52d3974834af3950408f79900a6dd6ac5 /src/plugins/HookSystem.hpp
parent3bceabe29b8aa510c80d396fa97496cb7eec8ce5 (diff)
Plugin Hooks: fix calls to %rip offsets
Diffstat (limited to 'src/plugins/HookSystem.hpp')
-rw-r--r--src/plugins/HookSystem.hpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/HookSystem.hpp b/src/plugins/HookSystem.hpp
index 56227449..0ff7f888 100644
--- a/src/plugins/HookSystem.hpp
+++ b/src/plugins/HookSystem.hpp
@@ -22,14 +22,19 @@ class CFunctionHook {
void* m_pOriginal = nullptr;
private:
- void* m_pSource = nullptr;
- void* m_pFunctionAddr = nullptr;
- void* m_pTrampolineAddr = nullptr;
- void* m_pDestination = nullptr;
- size_t m_iHookLen = 0;
- size_t m_iTrampoLen = 0;
- HANDLE m_pOwner = nullptr;
- bool m_bActive = false;
+ void* m_pSource = nullptr;
+ void* m_pFunctionAddr = nullptr;
+ void* m_pTrampolineAddr = nullptr;
+ void* m_pDestination = nullptr;
+ size_t m_iHookLen = 0;
+ size_t m_iTrampoLen = 0;
+ HANDLE m_pOwner = nullptr;
+ bool m_bActive = false;
+
+ std::vector<std::pair<size_t, std::string>> m_vTrampolineRIPUses;
+
+ size_t probeMinimumJumpSize(void* start, size_t min);
+ size_t getInstructionLenAt(void* start);
friend class CHookSystem;
};