anonymous32 发表于 2018-1-31 18:29

CreateProcessW 函数劫持

调用 detours 库实现劫持
支持x86的系统 x64系统暂不支持

anonymous32 发表于 2018-1-31 18:30

测试截图,通过运行创建cmd

anonymous32 发表于 2018-1-31 18:31

dll注入版本及注入工具,源代码

#include"stdio.h"
#include "stdlib.h"
#include "windows.h"
#include "detours.h"

#pragma comment(lib,"detours.lib")


BOOL(WINAPI *poldCreateProcess)(
        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 NEWCreateProcessW(
        LPCWSTR lpApplicationName,
        LPWSTR lpCommandLine,
        LPSECURITY_ATTRIBUTES lpProcessAttributes,
        LPSECURITY_ATTRIBUTES lpThreadAttributes,
        BOOL bInheritHandles,
        DWORD dwCreationFlags,
        LPVOID lpEnvironment,
        LPCWSTR lpCurrentDirectory,
        LPSTARTUPINFOW lpStartupInfo,
        LPPROCESS_INFORMATION lpProcessInformation
        )
{
        return 0;
}

void hook()
{
        DetourRestoreAfterWith(); //恢复状态
        DetourTransactionBegin();//开始拦截
        DetourUpdateThread(GetCurrentThread());//刷新线程
        DetourAttach((void**)&poldCreateProcess, NEWCreateProcessW);
        DetourTransactionCommit();


}



_declspec(dllexport)void go()
{
        hook();

}

anonymous32 发表于 2018-1-31 18:34

使用方法,选择explorer.exe 进程注入。
此dll只供研究使用,请不要用于其他非法途径。

kanxue2018 发表于 2018-3-5 10:12

谢谢分享,来学习了,好文章了!

glionying 发表于 2018-6-3 21:58

谢谢分享,来学习了
页: [1]
查看完整版本: CreateProcessW 函数劫持