In root directory run the following (or just copy the header from vpr/)
curl -LSso- https://raw.githubusercontent.com/0xvpr/vpr-toolkit/main/vpr-toolkit | python3 - -p ./include -ivpr-deviate
#include <vpr/deviate.h>
#include <stdio.h>
void target(int x) {
fprintf(stdout, "%d\n", x);
}
void func(int x) {
fprintf(stdout, "%d\n", x*x);
}
int main() {
target(5); // 5
vpr_deviate_detour((void *)target, (void *)func, nullptr, 0);
target(5); // 25
return 0;
}
Use GCC or Clang. MSVC won't accept the inline assembly for x64.