当前位置:手游汇攻略 → 如何在windows任务管理器隐藏软件进程

如何在windows任务管理器隐藏软件进程[多图]

时间:2017-12-18 17:38:53    

 

在理解隐藏的方法后,我们着重开始写线程的执行部分了。如下:

复制代码

代码如下:

DWORD __stdcall ThreadProc(void *lpPara){

MessageBox(NULL, "hello ", "hello ",0);

return 0;

}

编译执行后,你会发现出现一个非法操作错误,为什么呢?在我们以段页式内存管理的win2K操作系统中,编译时会把所有的常量编译在PE文件的.data节中,而代码段则在.text中,所以,我们拷备到宿主进程中的代码是在.text中的代码,MessageBox(NULL,(char   *)指针,p,0);所指向的地址是本进程的内存虚拟地址。而在宿主进程中是无法访问的。解决的方法很简单,按旧照搬的将 "hello "也拷备到目标进程中,然后再引用。同理,MessageBox函数地址编译时,也是保存在.Import中,写过Win2k病毒的朋友都知道,所有常量与函数入口地址都需在代码段定义与得出,我们这里也与他有点类似。言归正传,同样情况我们也把函数的入口地址一起写入目标进程中。

复制代码

代码如下:

//先定义参数结构

typedef struct _RemotePara{//参数结构

char pMessageBox[12];

DWORD dwMessageBox;

}RemotePara;

//付值

RemotePara myRemotePara;

::ZeroMemory(&myRemotePara,sizeof(RemotePara));

HINSTANCE hUser32 = ::LoadLibrary ( "user32.dll ");

myRemotePara.dwMessageBox =(DWORD) ::GetProcAddress (hUser32 , "MessageBoxA ");

strcat(myRemotePara.pMessageBox, "hello\0 ");

如何在windows任务管理器隐藏软件进程[多图]图片2

玩家评论

加载更多

网名(您的评论需要经过审核才能显示) 回复 [ ] 楼取消回复