#pragma once #include "Base.h" #define HOOK_MAX_COUNT 0x100 typedef struct _HOOK_INFO { void* origon_func; unsigned char* destroy_code[14]; unsigned char* m_trampo_line; }HOOK_INFO, * PHOOK_INFO; class inline_hooks_manager { public: static inline_hooks_manager* fn_get_instance(); auto inline_install_hook(void* target_func,void* my_function, void** origon_func) -> BOOL; auto inline_remov_hook(void** origon_func)->BOOL; auto inline_remov_all_hook()->BOOL; auto bulid_trampo_line(void* target_func, UINT64 break_byte_count) -> void*; private: static inline_hooks_manager* instance; unsigned char* m_trampo_line; UINT64 m_cur_hook_count; _HOOK_INFO m_Info[HOOK_MAX_COUNT]; };