zoukankan      html  css  js  c++  java
  • 25.Detours劫持技术

    Detours可以用来实现劫持,他是微软亚洲研究院开发出来的工具,要实现它首先需要安装Detours.

    安装地址链接:https://pan.baidu.com/s/1eTolVZs 密码:uy8x

    1 //取消拦截  
    2 _declspec(dllexport) void UnHook()
    3 {
    4     DetourTransactionBegin();//拦截开始  
    5     DetourUpdateThread(GetCurrentThread());//刷新当前线程  
    6     //这里可以连续多次调用DetourDetach,表明撤销多个函数HOOK  
    7     DetourDetach((void **)&oldsystem, newsystem); //撤销拦截函数  
    8     DetourTransactionCommit();//拦截生效  
    9 }
    • 劫持自己
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <Windows.h>
     4 #include "detours.h"//包含头文件必须包含detours.h
     5 #pragma comment(lib,"detours.lib") //包含库文件
     6 
     7 int  (*poldsystem)(const char * _Command) = system;//存放老的函数地址
     8 
     9 
    10 int my_system(const char * _Command)
    11 {
    12     printf("%s", _Command);//打印
    13     return 1;
    14 }
    15 
    16 void hook()
    17 {
    18     DetourRestoreAfterWith();//恢复之前的状态,避免反复拦截
    19     DetourTransactionBegin();//开始劫持
    20     DetourUpdateThread(GetCurrentThread());//刷新当前的线程
    21     DetourAttach((void **)&poldsystem,my_system);//劫持
    22     DetourTransactionCommit();//立刻生效
    23 }
    24 
    25 void main()
    26 {
    27     system("notepad");
    28     hook();
    29     system("notepad");
    30 
    31     getchar();
    32 }
    View Code
  • 相关阅读:
    第十周总结
    冲刺(四)
    冲刺(三)
    冲刺(二)
    冲刺(一)
    生成热词
    c#简单日志类
    WPF 后台代码 实现DynamicResource 绑定赋值
    WPF ListboxItem 双击事件 Command绑定
    mysql的命令行安装,忘记密码,密码重置问题
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8278545.html
Copyright © 2011-2022 走看看