如何发现有进程注入的情况?

Dream_lover 2009-08-18 11:32:06
一般我在用对战平台(比如浩方、qq等)启动游戏时,卡巴都会提示有进程注入,提醒我是否同意。

我比较好奇的是 卡巴是怎么监控到这个信息的? 通过监控 openprocess 函数?

高手如果清楚,请进来指点一下,多谢。
...全文
292 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
dcrr64 2010-01-21
  • 打赏
  • 举报
回复
ZwCreateThread
Dream_lover 2009-09-04
  • 打赏
  • 举报
回复
只是技术上的讨论,希望楼上的高人们不要伤和气,结贴先。
IORI915189 2009-08-28
  • 打赏
  • 举报
回复
你说R3可以还原SSDT 这和R3写内核空间有区别么 。。晕

好了 R0也好 R3也好 你怎么想 与我无关

MoXiaoRab 2009-08-27
  • 打赏
  • 举报
回复
我发现你纯属没事找事,捏造一些傻到底的鸟话,然后强行加到我的身上。

自己理解有问题,别乱抽风
MoXiaoRab 2009-08-27
  • 打赏
  • 举报
回复
LS又错了,我没说只有用了驱动才算Ring0,你不要乱改。

中断门一样可以进Ring0,我以前经常用调用门进Ring 0。

还有,我有说过“Ring3能读写Ring0空间”吗?我只说Ring3下可以恢复SSDT Hook。你把眼睛睁大点好吧?你这不是吃饱了撑的么?
IORI915189 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 tr0j4n 的回复:]
引用 19 楼 coding_hello 的回复:
从用户态还原SSDT是完全没有问题的。Mark早就提出过这个概念,并且有成熟的技术了。

简单说就是通过用户态的应用程序对\device\physicalmempry的读写操作来实现对内核物理内存数据的修改。所有的程序都在Ring3完成,不必写Ring0的驱动。

正解。

你不信Google下 Ring3下恢复SSDT 代码一堆一堆的。
[/Quote]

如果你认为只有用了驱动才算是R0 我也不想说什么了



上面已经说过了
“3层是不能读写R0空间的 既然读写了R0空间就属于0环了 谁管你怎么读写的 明白? ”

不知道这句 “谁管你怎么读写的” 你看见了没 。

tikycc2 2009-08-27
  • 打赏
  • 举报
回复
你研究的问题太大了,检测的方法很多,注入的方法也很多,这个估计你的慢慢研究了,研究完了,你可以弄杀毒软件,或者检测软件了。
MoXiaoRab 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 coding_hello 的回复:]
从用户态还原SSDT是完全没有问题的。Mark早就提出过这个概念,并且有成熟的技术了。

简单说就是通过用户态的应用程序对\device\physicalmempry的读写操作来实现对内核物理内存数据的修改。所有的程序都在Ring3完成,不必写Ring0的驱动。
[/Quote]
正解。

你不信Google下 Ring3下恢复SSDT 代码一堆一堆的。
MoXiaoRab 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 iori915189 的回复:]
本人读书不多 意思表达可能不明白

我上面引用了一句话 不知道你看见了没有

  开始我就说了 你R3和R0 的概念还没弄清楚 
3层是不能读写R0空间的  既然读写了R0空间就属于0环了  谁管你怎么读的 明白?

所以 R3能还原SSDT  这句话就是错的
[/Quote]

傻的你,一看就知道没逆向过磁碟机这种厉害的。Ring3下XX的方法可以直接抹内核地址,自己水平不够就别出来现了
野男孩 2009-08-26
  • 打赏
  • 举报
回复
从用户态还原SSDT是完全没有问题的。Mark早就提出过这个概念,并且有成熟的技术了。

简单说就是通过用户态的应用程序对\device\physicalmempry的读写操作来实现对内核物理内存数据的修改。所有的程序都在Ring3完成,不必写Ring0的驱动。
IORI915189 2009-08-26
  • 打赏
  • 举报
回复
本人读书不多 意思表达可能不明白

我上面引用了一句话 不知道你看见了没有

开始我就说了 你R3和R0 的概念还没弄清楚
3层是不能读写R0空间的 既然读写了R0空间就属于0环了 谁管你怎么读的 明白?

所以 R3能还原SSDT 这句话就是错的
MoXiaoRab 2009-08-25
  • 打赏
  • 举报
回复
我1#提供楼主的是Hook Ring3函数,没说Native API,如果要那样拦的话,SSDT Hook ZwCreateThread没错。

但是不OpenThread怎么注入呢?你看我1#提供了几个函数,下面讲SSDT,你就认定我不懂了?有你这么用大脑思考的么
MoXiaoRab 2009-08-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 iori915189 的回复:]
引用 10 楼 tr0j4n 的回复:
确实可以还原,Ring3下就可以还原SSDT Hook

ring3 和ring0的概念定义还没弄清楚  就不要误导他人了


在内核拦截NtCreateThread函数
判断当前操作进程 和被创建线程所属进程

同一进程 放过   
不同 则检查操作者是否为SYSTEM 进程  是则放过
否则 判断所属进程内 该线程是否是第一个线程 是则放过 
剩下的 就是远程线程了 很简单

LZ同志
给你提示的 应该不是远程线程的创建  而是qq haofang 它们的GUI全局钩子
要拦截这个 在SSDT SHADOW 里面的NtSetWindowsHookEx 这个函数

[/Quote]
ring3 和ring0的概念定义还没弄清楚 就不要误导他人了

你的意思是我无知咯?Ring3下不能恢复SSDT?你这个意思?

Dream_lover 2009-08-25
  • 打赏
  • 举报
回复
多谢 IORI915189 的指点,这几天忙别的事情去了,没有过来看。

等两天结贴,看有没有更多高人的建议。
jinling4388 2009-08-20
  • 打赏
  • 举报
回复
学习
shakeyou123 2009-08-20
  • 打赏
  • 举报
回复
学习了
IORI915189 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tr0j4n 的回复:]
确实可以还原,Ring3下就可以还原SSDT Hook
[/Quote]
ring3 和ring0的概念定义还没弄清楚 就不要误导他人了



在内核拦截NtCreateThread函数
判断当前操作进程 和被创建线程所属进程

同一进程 放过
不同 则检查操作者是否为SYSTEM 进程 是则放过
否则 判断所属进程内 该线程是否是第一个线程 是则放过
剩下的 就是远程线程了 很简单

LZ同志
给你提示的 应该不是远程线程的创建 而是qq haofang 它们的GUI全局钩子
要拦截这个 在SSDT SHADOW 里面的NtSetWindowsHookEx 这个函数
Dream_lover 2009-08-18
  • 打赏
  • 举报
回复
要拦截 OpenProcess 这样的API,需要一个全局的hook吧?
MoXiaoRab 2009-08-18
  • 打赏
  • 举报
回复
单拦截OpenProcess是不能确定就是注入的
MoXiaoRab 2009-08-18
  • 打赏
  • 举报
回复
拦截的地方有几处
OpenProcess
CreateRemoteThread
VirtualAllocEx
WriteProcessMemory
加载更多回复(8)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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