zoukankan      html  css  js  c++  java
  • 劫持系统进程禁止创建文件

    劫持系统进程禁止创建文件
    #include<stdio.h>
    #include<windows.h>
    #include<string.h>
    #include"detours.h"
    #pragma comment (lib ,"detours.lib" )

    HANDLE(WINAPI * oldCreateFileW)(
            _In_ LPCWSTR lpFileName,
            _In_ DWORD dwDesiredAccess,
            _In_ DWORD dwShareMode,
            _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
            _In_ DWORD dwCreationDisposition,
            _In_ DWORD dwFlagsAndAttributes,
            _In_opt_ HANDLE hTemplateFile
           ) = CreateFileW;

    HANDLE WINAPI newCreateFileW(
            _In_ LPCWSTR lpFileName,
            _In_ DWORD dwDesiredAccess,
            _In_ DWORD dwShareMode,
            _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes ,
            _In_ DWORD dwCreationDisposition,
            _In_ DWORD dwFlagsAndAttributes,
            _In_opt_ HANDLE hTemplateFile
           ){
           MessageBoxA(0, "劫持成功!" , "系统信息" , 0);
            return 0;
    }

    void Hook()
    {

           DetourRestoreAfterWith(); //恢复原来状态,
           DetourTransactionBegin(); //拦截开始
           DetourUpdateThread(GetCurrentThread()); //刷新当前线程
           DetourAttach(( void **)&oldCreateFileW, newCreateFileW); //实现函数拦截
           DetourTransactionCommit(); //拦截生效

    }

    void UnHook()
    {
           DetourTransactionBegin(); //拦截开始
           DetourUpdateThread(GetCurrentThread()); //刷新当前线程
           DetourDetach(( void **)&oldCreateFileW, newCreateFileW); //撤销拦截函数
           DetourTransactionCommit(); //拦截生效
    }

    _declspec(dllexport) void go(){
            MessageBoxA(0, "系统进程劫持成功!" , "系统信息" , 0);
            int i = 0;
            while (1){
                  Hook();
                   if (i == 60){
                         UnHook();
                          break;
                  }
                  Sleep(1000);
           }
    }




  • 相关阅读:
    iOS 10 因苹果健康导致闪退 crash-b
    iOS10 配置须知-b
    iOS开发 适配iOS10以及Xcode8-b
    iOS 10 的适配问题-b
    mybatis中分页查询
    mybatis开发流程,增删改查
    spring mvc接收参数方式,json格式返回请求数据
    xml配置文件中常见的命名空间解释
    myeclipse中配置schemaLocation路径,实现xml文件自动提示
    spring MVC工作流程
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531478.html
Copyright © 2011-2022 走看看