阅读:2279回复:3
[转帖]关于BootExecute
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,个人立场中立,别吐口水 |
|
沙发#
发布于:2007-01-04 12:11
BOOT 0的驱动在NTOSKRNL之前就被加载了,不过还是可以被干掉,最好是从启动就开始做,拦截硬盘操作,系统起来前挂INT13X,起来后挂磁盘过滤,比较保险点,安全软件有优势,你可以让用户按你的要求启动,而恶意软件不行,所以得化优势为胜势......
|
|
|
板凳#
发布于:2007-01-04 10:37
RS的技术不行啊~真正bT都是boot 0的驱动来扫描磁盘的~
|
|
|
地板#
发布于:2007-01-03 19:52
转帖高手
|
|
|