劫持程序(3)

劫持程序(3)
劫持代码:

//开始拦截
void Hook()
{
    DetourRestoreAfterWith ();//恢复原来状态 ,
    DetourTransactionBegin ();//拦截开始
    DetourUpdateThread (GetCurrentThread());//刷新当前线程
    //这里可以连续多次调用 DetourAttach,表明HOOK 多个函数

    DetourAttach ((void **)&oldsystem , newsystem);//实现函数拦截    //修改这里就可以了
    
    DetourTransactionCommit ();//拦截生效
    
}
//取消拦截
void UnHook()
{
    DetourTransactionBegin ();//拦截开始
    DetourUpdateThread (GetCurrentThread());//刷新当前线程
    //这里可以连续多次调用 DetourDetach,表明撤销多个函数HOOK
    DetourDetach ((void **)&oldsystem , newsystem); //撤销拦截函数
    DetourTransactionCommit ();//拦截生效
}




原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531495.html