6.软件实现过程
(1)安装全局钩子WH_GetMesseage,将替换函数NewZwQuerySystem Information所在DLL注入任务管理器进程Taskmgr.exe中。
(2)利用API拦截技术拦截NtQuerySystem Information函数,过滤掉要隐藏的进程,因为Windows任务管理器调用这个函数来获得系统运行的进程列表,这样在Windows任务管理中就隐藏了目标进程。
(3)把要隐藏的进程从系统活动进程列表中过滤,这样其他的查找进程的函数都不能获取目标进程的信息。
下面是实现替换函数NewZwQuerySystemInformation的关键代码:
//_SYSTEM_PROCESSES进程信息链表结构体
struct_SYSTEM_PROCESSES*pCurrSP=(struct_SYSTEM_PROCESSES*)SystemInformation;
//pPrevSP指向上个进程的指针
struct_SYSTEM_PROCESSES*pPrevSP=NULL;
while(pCurrSP)//遍历进程链表,过滤指定进程名
{
//ProcName即为指向的目标进程名,以隐藏进程QQ.exe为例。
}
If(memcmp(ProcName.Buffer,“QQ.exe”,sizeof(ProcName.Buffer)))
{
If(pCurrSP->NextEntryDelta)//是链表中第一个进程
{
SystemInformation=(struct_SYSTEM_PROCESSES*)
(((LPBYTE)SystemInformation)+pCurrSP->NextEntryDelta);
}
else//是链表中的唯一一个进程
{
SystemInformation=NULL;
}
}
pPrevSP=pCurrSP;
if(pCurrSP->NextEntryDelta)
{ pCurrSP=(struct_SYSTEM_PROCESSES)(((LPBYTE)pCurrSP)+pC
urrSP->NextEntryDelta);
else
{
pCurrSP=NULL;
}
}
7.总结
进程隐藏技术包括两个方面内容,一是进程的隐藏及欺骗技术,二是使程序的核心代码运行于其它进程的内存空间,从而难以从进程分析的角度来发现特定程序的运行。通过软件的开发验证了API Hook、DLL注入是有效的进程隐藏方法,并以此为基础,增强加载程序隐蔽性的技术途径以及提高进程隐藏编码效率。
生活中,进程隐藏技术除了应用于病毒和木马,也应用于正当的情况,比如学生机房监控软件,不允许学生将其关闭等。API Hook是一种拦截应用程序API函数调用的通用机制,通过建立API Hook可以监视和改变应用程序的行为,达到隐藏等特殊功能的目的。
上一页 [1] [2] [3] [4] [5]
DLL注入和API拦截Windows操作系统下进程隐藏技术研究 第5页下载如图片无法显示或论文不完整,请联系qq752018766