38 lines
940 B
C++
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;
|
|
} |