进程守护问题,类似卡巴或者瑞星,来者有分

dnahonker 2008-07-10 11:15:02
如何保护一个进程?要类似卡巴或者瑞星的,当结束他们时会弹出拒绝访问对话框,请问这是如何做到的

其他的进程守护如:两个程序相互监视、隐藏进程、HOOK openprocess等等都知道了,现在只想知道如何能实现类似卡巴及瑞星那样的进程保护。有人说提权,不知道该怎么弄。希望朋友们能帮帮忙。
...全文
258 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxtnt 2008-08-05
  • 打赏
  • 举报
回复
"两个程序相互监视、隐藏进程、HOOK openprocess HOOK NtTerminateProcess"

都是不可靠的进程保护,只有在内核级的保护才是安全的!
用DDK开发*.SYS,用*.SYS保护进程才是有效的,否则全是无聊......

qkhhxkj102 2008-07-30
  • 打赏
  • 举报
回复
学习
gyk120 2008-07-25
  • 打赏
  • 举报
回复
钩子也分很多种的,内联函数,DLL注入,内核钩子,钩SSDT,钩IDT或者IRP的
总之一堆乱七八糟的
gyk120 2008-07-25
  • 打赏
  • 举报
回复
DLL注入已经是比较原始的方法了
现在可行的就是一个钩子
okmnji79513 2008-07-25
  • 打赏
  • 举报
回复
mark
cenjoyer 2008-07-25
  • 打赏
  • 举报
回复
你的钩子是什么,不是放在DLL ,然后让explorer去调用那种钩子吗?
cenjoyer 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xjjrocker 的回复:]
两个线程,彼此守护即可。任何一个线程被强制结束,则自动由另一个线程来创建被结束的线程。
[/Quote]
线程?说错了吧,你想说进程吧。。。
这个可以说是最简单的了,没用的。
结束进程树可以干掉。
360可以同时结束多个进程。
我用DLL注入都不太好了,被杀毒软件判为“风险软件”。
刚下载了本rootkit的专题,再研究研究吧。。。
过去的我 2008-07-16
  • 打赏
  • 举报
回复
进程保护这个话题没底的啊..取决于你想达到的效果和你的水平.
xjjrocker 2008-07-16
  • 打赏
  • 举报
回复
两个线程,彼此守护即可。任何一个线程被强制结束,则自动由另一个线程来创建被结束的线程。
gyk120 2008-07-15
  • 打赏
  • 举报
回复
???
我以前看过一篇关于ring3下对抗瑞星2008的文章,那个提到了瑞星是采用HOOK NtTerminateProcess的
7月的黑防有一篇文章《再谈内核和进程保护》,你可以去看看那篇文章
dnahonker 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gyk120 的回复:]
(别说我做广告……)
这类问题还是到看雪去问吧……这里菜鸟居多
比较传统的是SSDT HOOK或者Inline Hook勾住TerminateProcess,或者是你说的那种方法,NtOpenProcess配合PsGetCurrentProcessId这个API
但是杀毒软件也有不同,卡吧似乎运用了驱动而并非提权,首先进入Ring0,然后就是调用驱动什么的(别和我谈驱动……我几乎不懂……)
瑞星就是直接HOOK NtTerminateProcess这个函数以达到目的
还有其他的就…
[/Quote]
瑞星是HOOK NtTerminateProcess吗?好象我HOOK TerminateProcess没有什么效果!
Rex_love_Burger 2008-07-13
  • 打赏
  • 举报
回复
mark
gyk120 2008-07-12
  • 打赏
  • 举报
回复
还有就是360,360本身没有什么保护机制,但是那个保险箱确实很厉害,估计和瑞星一样HOOK了 NtTerminateProcess
gyk120 2008-07-12
  • 打赏
  • 举报
回复
(别说我做广告……)
这类问题还是到看雪去问吧……这里菜鸟居多
比较传统的是SSDT HOOK或者Inline Hook勾住TerminateProcess,或者是你说的那种方法,NtOpenProcess配合PsGetCurrentProcessId这个API
但是杀毒软件也有不同,卡吧似乎运用了驱动而并非提权,首先进入Ring0,然后就是调用驱动什么的(别和我谈驱动……我几乎不懂……)
瑞星就是直接HOOK NtTerminateProcess这个函数以达到目的
还有其他的就没怎么测试了……
dnahonker 2008-07-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gyk120 的回复:]
不过你也应该知道吧
既然知道了如何HOOK openprocess,HOOK TerminateProcess也不是什么大问题了吧
[/Quote]
我没有真正的去实验过HOOK TerminateProcess,因为在网上查资料说进程要想不被关闭,应该是HOOK openprocess而不是HOOK TerminateProcess,并且我HOOK openprocess也确实做到了,但问题是不会出现像瑞星或卡巴那样的拒绝访问,所以我觉得他们因该不是这种方法

还有楼上的朋友,注册为服务只是随windows启动而启动,并不能保证进程被结束掉。

而两个进程相互监视是一个很好的办法,可是会占更多的资源,并且现在只需要做到瑞星或卡巴这样的效果,这个效果肯定是要掌握的,我觉得这个功能很不错!

期待解决方法。
gyk120 2008-07-11
  • 打赏
  • 举报
回复
互相监视嘛,
再说一旦HOOK API成功,你怎么去关?
除了APC之类的东西,其他的关不掉
现在杀毒软件防止自身被关闭都用的这种方法
shuihan20e 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gyk120 的回复:]
……
那么复杂的东西
那估计要涉及到API HOOK以及Ring0的知识
简单点说,就是把关闭自身的API例如Terminate Process拦截,所以无法关闭,然后拦截WM-CLOSE消息,使得结束任务也不可能,不过后一种方法可以通过注册服务或者注入进行隐藏
[/Quote]

注册服务不能保证不会被关闭啊,只不过是随WINDOWS启动罢 了,两个进程互相监视,两个都关了,那岂不是也是白搭?
gyk120 2008-07-10
  • 打赏
  • 举报
回复
不过你也应该知道吧
既然知道了如何HOOK openprocess,HOOK TerminateProcess也不是什么大问题了吧
gyk120 2008-07-10
  • 打赏
  • 举报
回复
……
那么复杂的东西
那估计要涉及到API HOOK以及Ring0的知识
简单点说,就是把关闭自身的API例如Terminate Process拦截,所以无法关闭,然后拦截WM-CLOSE消息,使得结束任务也不可能,不过后一种方法可以通过注册服务或者注入进行隐藏
dnahonker 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gyk120 的回复:]
要提权到debug权限
然后弄个进程实时监视另一个进程的存在,用Timer实现,找不到进程的话就重启进程
[/Quote]
两个程序相互监视的方法已经知道了,现在是需要类似卡巴或者瑞星的进程无法访问
加载更多回复(2)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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