Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "../thirdparty/minhook/minhook.h"
- #include "minhook.hpp"
- wrappers::minhook::Status translate_minhook_status(const MH_STATUS status)
- {
- switch (status)
- {
- case MH_OK: return wrappers::minhook::Status::OK;
- case MH_ERROR_ALREADY_INITIALIZED: return wrappers::minhook::Status::ALREADY_INITIALIZED;
- case MH_ERROR_NOT_INITIALIZED: return wrappers::minhook::Status::NOT_INITIALIZED;
- case MH_ERROR_ALREADY_CREATED: return wrappers::minhook::Status::ALREADY_CREATED;
- case MH_ERROR_NOT_CREATED: return wrappers::minhook::Status::NOT_CREATED;
- case MH_ERROR_ENABLED: return wrappers::minhook::Status::ENABLED;
- case MH_ERROR_DISABLED: return wrappers::minhook::Status::DISABLED;
- case MH_ERROR_NOT_EXECUTABLE: return wrappers::minhook::Status::NOT_EXECUTABLE;
- case MH_ERROR_UNSUPPORTED_FUNCTION: return wrappers::minhook::Status::UNSUPPORTED_FUNCTION;
- case MH_ERROR_MEMORY_ALLOC: return wrappers::minhook::Status::MEMORY_ALLOC;
- case MH_ERROR_MEMORY_PROTECT: return wrappers::minhook::Status::MEMORY_PROTECT;
- case MH_ERROR_MODULE_NOT_FOUND: return wrappers::minhook::Status::MODULE_NOT_FOUND;
- case MH_ERROR_FUNCTION_NOT_FOUND: return wrappers::minhook::Status::FUNCTION_NOT_FOUND;
- default: return wrappers::minhook::Status::UNKNOWN;
- }
- }
- wrappers::minhook::Status wrappers::minhook::initialize()
- {
- return translate_minhook_status(MH_Initialize());
- }
- wrappers::minhook::Status wrappers::minhook::shutdown()
- {
- return translate_minhook_status(MH_Uninitialize());
- }
- wrappers::minhook::Status wrappers::minhook::create_hook(const uintptr_t target_function, const uintptr_t replacement_function, uintptr_t* original_function)
- {
- return translate_minhook_status(MH_CreateHook(reinterpret_cast<LPVOID>(target_function), reinterpret_cast<LPVOID>(replacement_function), reinterpret_cast<LPVOID*>(original_function)));
- }
- wrappers::minhook::Status wrappers::minhook::remove_hook(const uintptr_t target_function)
- {
- return translate_minhook_status(MH_RemoveHook(reinterpret_cast<LPVOID>(target_function)));
- }
- wrappers::minhook::Status wrappers::minhook::enable_hook(const uintptr_t target_function)
- {
- return translate_minhook_status(MH_EnableHook(reinterpret_cast<LPVOID>(target_function)));
- }
- wrappers::minhook::Status wrappers::minhook::disable_hook(const uintptr_t target_function)
- {
- return translate_minhook_status(MH_DisableHook(reinterpret_cast<LPVOID>(target_function)));
- }
- wrappers::minhook::Status wrappers::minhook::queue_enable_hook(const uintptr_t target_function)
- {
- return translate_minhook_status(MH_QueueEnableHook(reinterpret_cast<LPVOID>(target_function)));
- }
- wrappers::minhook::Status wrappers::minhook::queue_disable_hook(const uintptr_t target_function)
- {
- return translate_minhook_status(MH_QueueDisableHook(reinterpret_cast<LPVOID>(target_function)));
- }
- wrappers::minhook::Status wrappers::minhook::apply_queued()
- {
- return translate_minhook_status(MH_ApplyQueued());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement