diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-02-27 18:34:44 +0000 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-02-27 18:34:53 +0000 |
| commit | c5d741fb39416f6e2fd35cabe1afbd87f510058b (patch) | |
| tree | 4a9923f52d3974834af3950408f79900a6dd6ac5 /src/plugins/HookSystem.hpp | |
| parent | 3bceabe29b8aa510c80d396fa97496cb7eec8ce5 (diff) | |
Plugin Hooks: fix calls to %rip offsets
Diffstat (limited to 'src/plugins/HookSystem.hpp')
| -rw-r--r-- | src/plugins/HookSystem.hpp | 21 |
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; }; |
