#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include "detours.h" #pragma comment(lib,"detours.lib")//包含庫文件 int (*poldsystem)(const char * _Command) = system; int newsystem(const char *_Command) { printf("%s", _Command); } void hook() { DetourRestoreAfterWith();//恢復以前狀態,避免反覆攔截 DetourTransactionBegin();//開始劫持 DetourUpdateThread(GetCurrentThread());//刷新當前的線程 DetourAttach((void **)&poldsystem, newsystem);//劫持 DetourTransactionCommit();//當即生效 } void main() { system("notepad"); hook(); system("notepad"); system("pause"); }