• 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
  • 相关阅读:
    linux下mysql数据的导出和导入
    mysql 命令行导数据库
    前端开发中经常使用到的20个正则表达式
    HTML5学习内容总结
    HTML5表单type类型详解
    表单说明(部分)
    HTML5和HTML4的区别(常用部分)
    HTML基础知识
    认识表单元素
    学习html5第一天
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8278545.html
Copyright © 2020-2023  润新知