HOOK劫持本身

#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");
}
相關文章
相關標籤/搜索