30 lines
785 B
C++
30 lines
785 B
C++
#pragma once
|
|
|
|
namespace MHook_Hooks {
|
|
uint64_t hookSmall(void);
|
|
uint64_t hookBranch(uint64_t);
|
|
uint64_t hookRip_relative(void);
|
|
void hookAVX(float num, void* res);
|
|
uint32_t hookRDRAND(void);
|
|
uint32_t hookLoop(uint32_t x);
|
|
uint32_t hookTail_recursion(uint32_t x);
|
|
};
|
|
|
|
class MHook : public AbstractHookEngine {
|
|
public:
|
|
bool hook_all();
|
|
bool unhook_all();
|
|
|
|
MHook() : AbstractHookEngine("MHook") {
|
|
|
|
}
|
|
|
|
friend uint64_t MHook_Hooks::hookSmall(void);
|
|
friend uint64_t MHook_Hooks::hookBranch(uint64_t);
|
|
friend uint64_t MHook_Hooks::hookRip_relative(void);
|
|
|
|
friend void MHook_Hooks::hookAVX(float num, void* res);
|
|
friend uint32_t MHook_Hooks::hookRDRAND(void);
|
|
friend uint32_t MHook_Hooks::hookLoop(uint32_t x);
|
|
friend uint32_t MHook_Hooks::hookTail_recursion(uint32_t x);
|
|
}; |