Files
FunctionHooking/main.cpp
2024-07-27 12:45:56 -04:00

38 lines
940 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 = FunctionHooking::Detour((void*) original_void, (void*) hook_void);
stringDetour = FunctionHooking::Detour((void*) original_string, (void*) hook_string);
original_void();
std::cout << std::endl;
original_string("String");
return 0;
}