guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
阅读:2281回复:3

[转帖]关于BootExecute

楼主#
更多 发布于:2007-01-03 17:55
  MJ0011:给瑞星说句公道话,关于BootExecute

虽然对于瑞星的技术及一些做事的方法比较不齿,还是给人家说句公道话吧.从纯技术上来说说那个BootExecute的问题.


大家也可以来我的blog看看这篇文章,我翻译自大师Mark Russinovich的<<深入Native应用程序>>
http://hi.baidu.com/mj0011/blog/item/85c0b50f80b1baedab6457de.html

BootExecute属于启动执行的一个项目

可以通过它来实现启动Natvice程序,Native程序在驱动程序和系统核心加载后将被加载,此时会话管理器(smss.exe)进行windowsNT用户模式并开始按顺序启动native程序

磁盘检查程序autochk就是一个native程序,它与普通应用程序不同

由于此时WIN32子系统还没有加载,所以它只能调用NTDLL.dll导出的native api函数

这种程序的编译方法和驱动程序是一样的,都是使用NT DDK进行

由于NATIVE程序运行时理论上是没有任何文件被打开的(一些BOOT级别的流氓驱动一开始就占据了自己的文件,NATIVE程序也对它无用了),所以经常被用来作病毒扫描或者病毒文件清理,包括瑞星,江民在内的杀毒软件都使用了该技术

加入自己的native程序到native启动的方法是在注册表中:HKLMSystemCurrentControlSetControlSession ManagerBootExecute
一个MULTI_SZ类型的键值
这里存放着将被会话管理器所执行的程序名称和参数
通常Autochk后加*号作为其参数"

Autocheck Autochk *
;名称 程序名 参数


而所谓Network Connection这个服务,属于win32服务,与native程序完全是不相关的
瑞星只是在bootexecute项目里加入了自己的程序,也就是bsmain.exe
用于启动扫描
至于无法修改BootExecute,则可能是瑞星的注册表保护,防止其他程序篡改其BootExecute.当然这也有不好的地方,因为别人也要用到这个BootExecute呀

另外至于启动时会蓝一下的情况,我想可能是程序的BUG或者缺陷,因为Native程序开发类似驱动程序开发,要比一般的程序困难。而瑞星的驱动开发水平一向比较低:P

<<瑞星程序员自曝内幕:瑞星2007不如2006>>一文基本上是在胡言乱语,而且作者完全没有相关的技术知识,不过瑞星如果都是这样的程序员,那么其技术水平的确令人失望啊。2007我自己来看还是吹牛的多一点,实际使用的还是一些十分过时的技术(比如Mark在98年就提出的native技术),很落后啊,这方面卡巴就比较领先,敢于使用一些新技术,当然,人家也有这个资本:D


帖子来自www.cnbeta.com,个人立场中立,别吐口水
游客

返回顶部