如何彻底隐藏exe进程
的有关信息介绍如下:一般有4种方法:
1)DLL挂靠大发
程序改写倍质仍限被应为DLL结构,挂靠E站xplorer.exe上运来自行
好处:没进程实体,普通进程查看无效
缺点:可以通过代码叫Explorer.exeUnload你的Dll,呵呵,还有Explorer出错时,会重新启用,那个时候360问答需要重新挂靠你的DLL
改进:用Debug权限挂靠WinLogon.exe,哈哈,安全系数就高很多氧危一套立燃质打试攻,WinLogon死了,你也就死机了
LYSoft主页的http://ly.***.net/projects/NoCtrl+Alt+***.rar是DLL挂靠方法的例采亲陈考越长某展城子,修改就可用
2)APIHook大发
关闭程序的实质是什么?TerminateProcess的API!
只要你的***.ti永油占带言朝载香校我tle:=‘’就适源怕纪元预还不会出现在任务管理器的第一页
常未宜尔起验济民燃移杆第二页会出现的,但评完船侵雨检素不怕,我Hook了TerminateProcess就可以保证安全了
Termi婷械那缺企联入nateProce专异协立岩初曾风衣况ss可以Hook?可以,但Ho额石费难错轻难价ok了没用,Handle是未知的
因此实质上要Hook的是OpenProcess,只要是我的进程就拒绝打开
好处:不怕你见的到,你就是关不了我
缺点:CMD下的命令行方法Hoo顶江影k不到
改进:能够Hook系统服务就一定可以,可惜难度大,需要编写驱动
LYSoft主页击鸡校乡如的http://又司胡技注赶民晶群ly.***.net/projects/API***.rar是APIHook方法的例子,修改就可用
3)NT内核修改大发
修改NT系统内核对象PsLoadedModuleList上的ActiveProcessLink链表就可以在系统上年差依“失踪”了,但实现这个功能需要驱动支持,没驱动的方法只能适合XP/2003,因为Nt5.约政何照限月祖1以上的ZwSy具获孙stemDebugControlAPI才能支持内核访问
好处:你怎么都见不到进程的
缺点:难度过大,用内核工具仍然可以看见的,很多RootKit木马就用这个方法的
改进:几乎是终极大法,没什么别的好方法了。
LYSoft主页的http://ly.***.net/projects/NTLowLevel.exe是演示程序,不提供代码,涉及技术机密,不便奉告
关键代码如下
functionHideProcess:boolean;
labelErr;
var
EProcess:DWord;
hPM,FLink,BLink:Cardinal;
begin
Result:=false;
EProcess:=GetCurrentEProcess;
ifEProcess<1thenExit;
ifnotReadVirtualMemory(EProcess+$88,@FLink,4)thenExit;
ifnotReadVirtualMemory(EProcess+$8C,@BLink,4)thenExit;
ifnotWriteVirtualMemory(FLink+4,@BLink,4)thenExit;
ifnotWriteVirtualMemory(BLink,@FLink,4)thenExit;
Result:=true;
end;
不要问为什么了,你需要NTDDK的知识才能明白的:)
4)远程线程大发
没有实体的存在,没进程,没DLL,只有代码
把代码直接注入进程空间VirtualAllocEx,用CreateRemoteThread运行,
好处:没可见的实体,隐蔽性最强
缺点:适合于简单代码,复杂的难以保证其可靠性和稳定性,病毒的最爱
改进:不需要什么了
这个没演示了,呵呵:)
注入某个进程空间,要涉及到API定位等一系列病毒式操作,在对方的身体运行呀
简单的代码可以,复杂的功能就很不适合,一般的程序根本就不适合,所以除非写病毒,否则不建议用这样的方法,因为连调试都变得很难