查看: 7103|回复: 38
收起左侧

[技术原创] 对【官方声明PotPlayer与火绒同时安装PotPlayer无法启动的说明】一个小分析

[复制链接]
zhq445078388
发表于 2013-10-16 11:06:14 | 显示全部楼层 |阅读模式
本帖最后由 zhq445078388 于 2013-10-16 11:19 编辑

PotPlayer流程如下:
1.修改API代码为jmp
2.填充回跳代码
3.完成hook

火绒流程如下:
1.检测到API调用
2.通知驱动(这步其实没理解为啥)
3.调用到了回跳代码
4.因为回跳代码在当时还没有正确填充(从火绒的描述看是初始化为DeviceIoControl的地址了。)
5.死循环(或跳到未知地址,不过在这里是死循环)
6.栈溢出or失效指针引用(在这里应该是栈上溢了)


火绒的问题
1.调用API前没有进行恢复操作(可以看出都没有判断,一般3环的都不应该去信任,尤其是关键API)
2.在对方进程上下文中调用驱动。可能存在验证问题(个人不知道他在驱动怎么验证的。。)

火绒的问题我的看法
1.一般不是dll通知某常驻进程。然后进程通知驱动么?
2.亲你随便在别人进程上下文与驱动交互。不怕出现驱动被利用的问题么?

利用举例:
1.从dll中提取协议,记录操作码
2.hook DeviceIoControl
3.截获到火绒dll的驱动操作。
4.将该函数的参数修改为自己构造好的参数
5.火绒驱动按照参数进行了操作 - 内核代码执行

pot的问题
如果在内核的话。从流程上看。应该先填充代码再HOOK(期间进行防中断等操作)
pot的理由
在自己进程。自己没有进行调用。某种意义上说是安全操作。(个人觉得不符合一般流程)

评分

参与人数 1人气 +1 收起 理由
zdlzp + 1 版区有你更精彩: )

查看全部评分

sk3385
发表于 2013-10-16 11:10:15 | 显示全部楼层
这样看来双方都有问题啊
sk3385
发表于 2013-10-16 11:16:57 | 显示全部楼层
官方已经做出说明了!!请看这个http://bbs.huorong.cn/thread-198-1-1.html
zhq445078388
 楼主| 发表于 2013-10-16 11:17:39 | 显示全部楼层
sk3385 发表于 2013-10-16 11:16
官方已经做出说明了!!请看这个http://bbs.huorong.cn/thread-198-1-1.html

我就是在对这个进行说明。。。
vardyh
发表于 2013-10-16 11:19:48 | 显示全部楼层
本帖最后由 vardyh 于 2013-10-16 11:21 编辑

“1.调用API前没有进行恢复操作”

恢复其他进程内的钩子只能是“火绒剑"这类工具来做的事情,直接恢复代码是不可取的,有可能改变其他程序行为。如果是复制代码绕过就可笑了,难道别人有bug不改反倒要安全软件绕道走?谁能保证文件层、磁盘层读出的代码不是被欺骗过得?绝对的可信是不存在的。

“2.在对方进程上下文中调用驱动。可能存在验证问题”

火绒的多个内核设备职责不同,有不同的验证机制。
zhq445078388
 楼主| 发表于 2013-10-16 11:21:25 | 显示全部楼层
vardyh 发表于 2013-10-16 11:19
“1.调用API前没有进行恢复操作”

恢复其他进程内的钩子只能是“火绒剑"这类工具来做的事情,直接恢复代 ...


“1.调用API前没有进行恢复操作”

恢复其他进程内的钩子只能是“火绒剑"这类工具来做的事情,直接恢复代码是不可取的,有可能改变其他程序行为。如果是复制代码绕过就可笑了,难道别人有bug不改还要安全软件绕道走?

当然你安全软件要绕着走了
必要时候需要自己构造系统服务呼叫ID,栈空间。然后去调sysenter


PS:windows下编程除自保等特殊情况外。需要信任内核。但是3环代码不可绝对信任
vardyh
发表于 2013-10-16 11:23:00 | 显示全部楼层
zhq445078388 发表于 2013-10-16 11:21
“1.调用API前没有进行恢复操作”

恢复其他进程内的钩子只能是“火绒剑"这类工具来做的事情,直接恢复 ...

360VT防御没处理nested virtualization独占vmx root导致其他虚拟化软件无法开启硬件虚拟化,怎么没绕道?
zhq445078388
 楼主| 发表于 2013-10-16 11:23:40 | 显示全部楼层
vardyh 发表于 2013-10-16 11:23
360VT防御没处理nested virtualization独占vmx root导致其他虚拟化软件无法开启硬件虚拟化,怎么没绕道?


和360有什么关系?
另外那个是内核的。这里说三环代码不可信 你又绕到360上面来玩。我又没写过360的驱动
vardyh
发表于 2013-10-16 11:23:46 | 显示全部楼层
zhq445078388 发表于 2013-10-16 11:21
“1.调用API前没有进行恢复操作”

恢复其他进程内的钩子只能是“火绒剑"这类工具来做的事情,直接恢 ...

亲,有BUG就是有BUG,没什么不能认的~~
vardyh
发表于 2013-10-16 11:24:59 | 显示全部楼层
zhq445078388 发表于 2013-10-16 11:23
和360有什么关系?
另外那个是内核的。这里说三环代码不可信 你又绕到360上面来玩。我又没写过360的驱 ...


好好的技术贴,别口水了~~闪了,欢迎没事来火绒论坛串串门:http://bbs.huorong.cn

评分

参与人数 1人气 +1 收起 理由
zhq445078388 + 1 发帖子只是为了给pot正名,有空串门~

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 04:26 , Processed in 0.139213 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表