请问怎么保护任务管理器中的进程不被杀掉?

findcsdn 2005-04-01 05:18:09
我在服务程序中利用 createprocess 启动另外一个服务进程,现在是这个进程可能被杀掉,导致主程序出错,不知道有没有办法可以使进程管理器没有权限杀死我的进程。

我现在已经在安全描述符(sd)上将所有的用户权限禁止了,可还是不行。
...全文
650 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
fvan 2005-04-13
  • 打赏
  • 举报
回复
无法通过改变进程的访问权限实现阿

杀不掉具体有几种
1,三线程保护
eg,http://www.vckbase.com/document/viewdoc/?id=754
2,注册为服务,而且任务管理器中没有此程序,ATL中此类东西容易写,MFC较麻烦
3,较为简单的话:
编写一个Dll,假设为 test.dll
注册表中,设置为
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="test.dll"
如此,启动时就在任务管理器中不见了



findcsdn 2005-04-12
  • 打赏
  • 举报
回复
有没有其他的办法,通过改变进程的访问权限来实现。
goodheartppl 2005-04-11
  • 打赏
  • 举报
回复
同时启动3个进程,2个进程为保护进程
surstar 2005-04-07
  • 打赏
  • 举报
回复
你们在讨论撒子哇?

好100%的 友好性很难吧~
MPU 2005-04-07
  • 打赏
  • 举报
回复
怎么越说越像病毒了。。。。。

好像都是病毒的计量。。。。

双进程,隐藏进程,写成服务。
Gogogogogoogle 2005-04-07
  • 打赏
  • 举报
回复
比如 matlabServer 服务,在taskmrg里面杀不掉,
但是在services.msc里面可以杀的哇,这算不算?
Gogogogogoogle 2005-04-07
  • 打赏
  • 举报
回复
系统服务不可以杀掉?

那一般的服务可以杀掉的哇?
goodheartppl 2005-04-07
  • 打赏
  • 举报
回复
启动3个进程 可以防止进程被杀掉

还可以把TASKMGR的进程杀掉,那样用户就不会手动杀掉你的进程了
fisker0303 2005-04-07
  • 打赏
  • 举报
回复
可不可注入一个系统的核心进程,呵呵。
Fzergling 2005-04-07
  • 打赏
  • 举报
回复
可以HOOK住OpenProcess,但是HOOK TerminateProcess不行。
findcsdn 2005-04-07
  • 打赏
  • 举报
回复
不是病毒啦!

守护进程的方案不太好,因为子进程工作具有延续性需要保存前面的运行状态,不能中断的。

以前看到过有些杀毒软件的进程,从任务管理器中是不能结束的,不知道是用的什么办法。

pepsi1980 2005-04-05
  • 打赏
  • 举报
回复
隐藏起来,做成服务,双进程监控都可以。也可以多种技术混用
findcsdn 2005-04-05
  • 打赏
  • 举报
回复
to: adamx

那与服务器的数据交互用什么办法比较方便? 用socket吗?
adamx 2005-04-05
  • 打赏
  • 举报
回复
可以把窗体独立出来,不要放在服务里。
findcsdn 2005-04-05
  • 打赏
  • 举报
回复
子进程不是我写的,我改不了。
findcsdn 2005-04-05
  • 打赏
  • 举报
回复
我的主程序就是系统服务,不过打开可以和桌面交互的选项。

现在的问题是windows注销的时候,会将子进程关闭,导致主进程错误。
不过将“允许与桌面交互”选项取掉时,子进程是不会被关闭的,可是我有窗体需要和桌面交互啊!


csdn的这么多高手,怎么这个问题也不能解决,真是怪了。
oyljerry 2005-04-01
  • 打赏
  • 举报
回复
做成系统服务
yds 2005-04-01
  • 打赏
  • 举报
回复
可以把进程做成服务,系统的服务能不被杀死!
bobob 2005-04-01
  • 打赏
  • 举报
回复
在Win2000下是无法隐藏进程的,可以采用进程守护,即多条进程同时运行,当发现被杀,就再开。当然这种方法也并不是很好。
关注!


=====================>
谁告诉你2000下无法隐藏进程的啊?呵呵
showjancn 2005-04-01
  • 打赏
  • 举报
回复
在Win2000下是无法隐藏进程的,可以采用进程守护,即多条进程同时运行,当发现被杀,就再开。当然这种方法也并不是很好。
关注!
加载更多回复(2)
09年初刚到现在这家公司,头让做一个进程防杀的功能,为了保护我们的软件的服务程序,类似360或瑞星这样的安全产品都有进程防杀的功能。研究了一个多月,总结网上的各种防杀方法并参考其代码,特此将各种实现方法归纳为以下6种,并将其对应源码奉上。 源码全部经过自己修改调试,部分为原创,在vs2005下调试通过,在各种windows操作系统下测试过 1. ring3提升线程为系统线程 原理:windows在强制结束进程的时候会先结束掉所有的线程,把程序的线程改成系统线程,就可以达到防杀的目的 优点:ring3实现的进程防杀,无驱动无hook,原理及代码都较为简单,能防止任务管理器杀掉进程 缺点:只能下xp下有效(与xp打的补丁也有关,有的xp系统会失败)防杀能力有限,例如不能防住IceSword等工具 该方法是参考了csdn一位朋友的做法,原文地址为 http://blog.csdn.net/KeSummer/archive/2008/05/18/2455379.aspx 2.hookApi之NtQuerySystemInformation 原理:hook NtQuerySystemInformation 来隐藏进程 优点:ring3实现的进程隐藏,无驱动,能在任务管理器里隐藏进程 缺点:只能在nt2000下隐藏进程,通用性较差 3.detours库实现进程防杀 原理:和2类似,hook OpenProcess 来防杀进程 优点:防杀能力和通用性都较强,在nt2000,xp,2003均可防杀 缺点:hookApi是用detours库来实现的,2008下防杀失败,不能防住某些进程工具 4.hook任务管理器结束进程事件 原理:挂钩任务管理器窗口,利用CBT钩子拦截结束进程消息 优点:通用性较强,任意的windows平台均可防止任务管理器进程 缺点:只能针对windows任务管理起到防杀作用 5.双进程保护 原理:主进程和守护进程互相监控,发现对方不在就启动对方。为了避免父子进程关系,主进程启动临时进程,临时进程启动守护进程 优点:通用性较强,保护能力较强,可保护windows服务程序。hook防杀需要主程序和桌面交互的,而服务程序是不和桌面交互的 缺点:非真正的防杀,只是杀了又启,手段有点不入流 6.驱动级进程保护 原理:驱动级的ZwQuerySystemInformation hook,来隐藏或防杀进程 优点:防杀能力较强,在IceSword 1.2.2版本下测试通过 缺点:加载有驱动,程序实现较为复杂,驱动级hook被360等杀毒工具检测为木马 yipihaoma qq:49489047

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧