资源简介
X64 inline hook explorer.exe-->CreateProcessInternalW监视进程创建.
vc2008+WIN7 64测试通过.

代码片段和文件信息
#include
#include
#include
#include
#include
#pragma comment(lib “shlwapi.lib“)
#define CODE_LEN 12
TCHAR ModuleFile[256];
DWORD dwOldProtect;
BYTE OldCode[CODE_LEN] = {0x90};
typedef HANDLE (WINAPI *__CreateProcessInternal)(HANDLE hTokenLPCTSTR lpApplicationNameLPTSTR lpCommandLineLPSECURITY_ATTRIBUTES lpProcessAttributesLPSECURITY_ATTRIBUTES lpThreadAttributesBOOL bInheritHandlesDWORD dwCreationFlagsLPVOID lpEnvironmentLPCTSTR lpCurrentDirectoryLPSTARTUPINFOA lpStartupInfoLPPROCESS_INFORMATION lpProcessInformationPHANDLE hNewToken);
__CreateProcessInternal pfnCreateProcess = 0;
HANDLE WINAPI FakeCreateProcessInternal(HANDLE hTokenLPCTSTR lpApplicationNameLPTSTR lpCommandLineLPSECURITY_ATTRIBUTES lpProcessAttributesLPSECURITY_ATTRIBUTES lpThreadAttributesBOOL bInheritHandlesDWORD dwCreationFlagsLPVOID lpEnvironmentLPCTSTR lpCurrentDirectoryLPSTARTUPINFOA lpStartupInfoLPPROCESS_INFORMATION lpProcessInformationPHANDLE hNewToken)
{
MessageBox(NULL lpCommandLine lpApplicationName MB_ICONASTERISK);
return pfnCreateProcess(hToken lpApplicationName lpCommandLine lpProcessAttributes lpThreadAttributes bInheritHandles dwCreationFlags lpEnvironment lpCurrentDirectory lpStartupInfo lpProcessInformation hNewToken);
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL // handle to DLL module
DWORD fdwReason // reason for calling function
LPVOID lpReserved ) // reserved
{
switch( fdwReason )
{
case DLL_PROCESS_ATTACH:
::DisableThreadLibraryCalls(hinstDLL);
GetModuleFileName(NULL ModuleFile _countof(ModuleFile));
if (StrRStrI(ModuleFile 0 TEXT(“explorer.exe“)))
{
pfnCreateProcess = (__CreateProcessInternal)GetProcAddress(GetModuleHandle(TEXT(“kernel32.dll“)) “CreateProcessInternalW“);
::VirtualProtect(pfnCreateProcess CODE_LEN PAGE_EXECUTE_READWRITE &dwOldProtect);
memcpy(OldCode pfnCreateProcess CODE_LEN);
memset(pfnCreateProcess 0x90 CODE_LEN);
/*
mov rax FakeCreateProcessInternal
jmp rax
*/
*(LPWORD)pfnCreateProcess = 0xb848;
*(INT64*)((INT64)pfnCreateProcess+2) = (INT64)FakeCreateProcessInternal;
*(LPWORD)((INT64)pfnCreateProcess+10) = 0xe0ff;
::VirtualProtect(pfnCreateProcess CODE_LEN dwOldProtect NULL);
pfnCreateProcess = (__CreateProcessInternal)VirtualAlloc(NULL CODE_LEN+12 MEM_COMMIT PAGE_EXECUTE_READWRITE);
memcpy(pfnCreateProcess OldCode CODE_LEN);
/*
mov rbx CreateProcessInternalW + CODE_LEN
jmp rbx
*/
*(LPWORD)((INT64)pfnCreateProcess+CODE_LEN) = 0xb848;
*(INT64*)((INT64)pfnCreateProcess+CODE_LEN+2) = (INT64)GetProcAddress(GetModuleHandle(TEXT(“kernel32.dll“)) “CreateProcessInternalW“)+CODE_LEN;
*(LPWORD)((INT64)pfnCreateProcess+CODE_LEN+10) = 0xe0ff;
}
else if (StrRStrI(ModuleFile 0 TEXT(“Rundll32.exe“)))
{
DWORD dwProcessId = 0;
HANDLE hProcess = 0;
HWND
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4608 2013-11-24 13:53 X64Dll\x64\Release\X64Dll.dll
文件 660 2013-11-24 13:29 X64Dll\x64\Release\X64Dll.dll.manifest
文件 700 2013-11-24 13:53 X64Dll\x64\Release\X64Dll.exp
文件 1716 2013-11-24 13:53 X64Dll\x64\Release\X64Dll.lib
文件 117760 2013-11-24 13:53 X64Dll\x64\Release\X64Dll.pdb
文件 4201 2013-11-24 13:53 X64Dll\X64Dll\1.cpp
文件 7221 2013-11-24 00:54 X64Dll\X64Dll\X64Dll.vcproj
文件 2563 2013-11-24 14:14 X64Dll\X64Dll\X64Dll.vcproj.zwf-PC.Administrator.user
文件 1238 2013-11-23 17:50 X64Dll\X64Dll.sln
..A..H. 24064 2013-11-24 14:14 X64Dll\X64Dll.suo
目录 0 2013-11-24 13:29 X64Dll\x64\Release
目录 0 2013-11-24 14:14 X64Dll\X64Dll\x64
目录 0 2013-11-24 14:15 X64Dll\x64
目录 0 2013-11-24 13:53 X64Dll\X64Dll
目录 0 2013-11-24 14:14 X64Dll
----------- --------- ---------- ----- ----
164731 15
- 上一篇:HookCreateProcess
- 下一篇:trap 模拟器
相关资源
- HOOK小工具(进程、窗口、全局)
- HOOK 记录和模拟 Keyboard Mouse
- 通用注入工具无驱版(HOOK注入、远程
- Diskhook(模拟硬盘序列号)
- 基于Filter-Hook Driver的个人防火墙
- lz4压缩解压工具x64和x86
- nasm-2.15-x64
- Radmin Server-3.5 完美绿色破解版x32 x64通
- G460 2.15 x64 bios
- winrar-x64-420sc注册方法
- Surface pro 7 SD卡固定硬盘X64驱动带数字
- WIN7-x64主题还原文件_请在PE下替换
- BusHound_v6.0.1正式版破解版 x86( 32位
- Win7_x86 x64_EWF_FBWF(带EWFMGMT图形管理)
- 卡皇RTL8187芯片网卡驱动 Win7 x86x64官方
-
Windows em
bedded Standard 7 X86X64纯净版 - lsimpt_scsi_srv08_x64.zip
- 联想rd630服务器驱动 for win2003 x64
- WindowsServer2003.WindowsXP-KB926139-v2-x64-EN
- 硬盘串号模拟diskhook
- Macbook air superdrive win10 x64驱动
- diskhook模拟硬盘物理序列号
- H310阵列卡驱动x64位_win2003 64位raid驱动
- TVideoGrabber.v.10.5.1.4.XE10.1.x32-x64.Cracke
- BricsysBricsCadPlatiniumv17.2.12.1Linux64位免费
- jdk-8u201-windows-x64.exe
- 正版Win7_x64.iso(已加载USB3.0驱动)
- cmake-3.7.0-win64-x64
- cmake-3.8.0-rc1-win64-x64
- SecureCRT 8.5.3 Build 1867(X64)原版 + ZW
评论
共有 条评论