Windows NT/2000系统下进程的隐藏(2)
作者:佚名; 更新时间:2014-12-05
>
#include <windows.h>
#pragma hdrstop
#pragma argsused
BOOL WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
char szProcessId[64];
switch(reason)
{
case DLL_PROCESS_ATTACH:
{//获取当前进程ID
itoa(GetCurrentProcessId(),szProcessId,10);
MessageBox(NULL,szProcessId,"RemoteDLL",MB_OK);
break;
}
default:
}
return TRUE;
}
当使用RmtDll.exe程序将这个hide.dll嵌入IEXPLORE.EXE进程后假设PID=1208),该测试DLL弹出了1208字样的确认框,同时使用PS工具
也能看到:
Process ID: 1208
C:\WINNT\IEXPLORE.EXE (0x00400000)
……
C:\WINNT\hide.dll (0x100000000)
……
这证明hide.dll已经在IEXPLORE.EXE进程内正确地运行了。上面程序的头文件由编译器自动生成,未作改动,故略之。
5 结束语
进程隐藏技术和方法有很多,而且这一技术发展也相当快,本文仅从一个侧面加以讨论,希望通过这一探讨让我们对进程隐藏技术有一个更清楚的认识,同时也为我们防范他人利用进程隐藏手段非法入侵提供参考,本文抛砖引玉,不当之处诚恳批评指正。
#include <windows.h>
#pragma hdrstop
#pragma argsused
BOOL WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
char szProcessId[64];
switch(reason)
{
case DLL_PROCESS_ATTACH:
{//获取当前进程ID
itoa(GetCurrentProcessId(),szProcessId,10);
MessageBox(NULL,szProcessId,"RemoteDLL",MB_OK);
break;
}
default:
}
return TRUE;
}
当使用RmtDll.exe程序将这个hide.dll嵌入IEXPLORE.EXE进程后假设PID=1208),该测试DLL弹出了1208字样的确认框,同时使用PS工具
也能看到:
Process ID: 1208
C:\WINNT\IEXPLORE.EXE (0x00400000)
……
C:\WINNT\hide.dll (0x100000000)
……
这证明hide.dll已经在IEXPLORE.EXE进程内正确地运行了。上面程序的头文件由编译器自动生成,未作改动,故略之。
5 结束语
进程隐藏技术和方法有很多,而且这一技术发展也相当快,本文仅从一个侧面加以讨论,希望通过这一探讨让我们对进程隐藏技术有一个更清楚的认识,同时也为我们防范他人利用进程隐藏手段非法入侵提供参考,本文抛砖引玉,不当之处诚恳批评指正。
参考文献
1 Jeffrey Richter著 王建华、张焕生、侯丽坤等译 Windows核心编程 机械工业出版社2
K.赖斯多夫 H. 亨德森著 希望图书创作室译 Borland C++ Builder 实用培训教程
上一页 [1] [2] [3]
下一篇:Windos9x下的双机通信
热门论文