劫持系统进程禁止打开任何进程(5)

劫持系统进程禁止打开任何进程(5)<?xml version="1.0" encoding="UTF-8"?>
windows创建进程的函数:

261921227433468.png

把这个函数劫持之后注射到 explore.exe进程中即可。

现在注射到印象笔记中测试:

#include <stdio.h>
#include <windows.h>
#include <string.h>
#include "detours.h"
#pragma comment ( lib , "detours.lib" )

BOOL ( WINAPI * oldCreateProcessW)(
        LPCWSTR lpApplicationName,
        LPWSTR lpCommandLine,
        LPSECURITY_ATTRIBUTES lpProcessAttributes,
        LPSECURITY_ATTRIBUTES lpThreadAttributes,
        BOOL bInheritHandles,
        DWORD dwCreationFlags,
        LPVOID lpEnvironment,
        LPCWSTR lpCurrentDirectory,
        LPSTARTUPINFOW lpStartupInfo,
        LPPROCESS_INFORMATION lpProcessInformation
       ) = CreateProcessW;

BOOL WINAPI newCreateProcessW(
        LPCWSTR lpApplicationName ,
        LPWSTR lpCommandLine ,
        LPSECURITY_ATTRIBUTES lpProcessAttributes ,
        LPSECURITY_ATTRIBUTES lpThreadAttributes ,
        BOOL bInheritHandles ,
        DWORD dwCreationFlags ,
        LPVOID lpEnvironment ,
        LPCWSTR lpCurrentDirectory ,
        LPSTARTUPINFOW lpStartupInfo ,
        LPPROCESS_INFORMATION lpProcessInformation
       ) {
       MessageBoxA(0, "系统进程已被劫持!" , "系统警告" , 0);
        return 0;
}

void Hook()
{

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

}

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

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

劫持成功:

    261921227433468.png


打开帮助的入门指南的时候:

261921239468169.png




转载于:https://www.cnblogs.com/ZhangJinkun/p/4531484.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值