Files
FunctionHooking/main.cpp

37 lines
904 B
C++

#include <iostream>
#include <FunctionHook/Hook.h>
using namespace FunctionHooking;
Detour* voidDetour;
Detour* stringDetour;
void original_void() {
std::cout << "Original void function." << std::endl;
}
void hook_void() {
std::cout << "Void hook function." << std::endl;
voidDetour->CallOriginal<void>();
}
std::string original_string(const std::string& string) {
std::cout << string + " original function." << std::endl;
return string;
}
std::string hook_string(const std::string& string) {
std::cout << string + " hook function." << std::endl;
return stringDetour->CallOriginal<std::string>(string);
}
int main() {
//Set up hooks.
voidDetour = new Detour((void*) original_void, (void*) hook_void);
stringDetour = new Detour((void*) original_string, (void*) hook_string);
original_void();
std::cout << std::endl;
original_string("String");
}