首页
社区
课程
招聘
[求助]Windows如何识别系统DLL的版本?
发表于: 2008-10-17 15:34 4164

[求助]Windows如何识别系统DLL的版本?

2008-10-17 15:34
4164
当系统DLL被替换时 Windows是怎么识别出是非系统版本的?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 288
活跃值: (53)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
这个不知道,Windows(XP)好象不识别DLL的版本吧?

它好象只有个“系统文件保护”,文件被改或被删除时会自动还原。如果备份文件也不存在或也被改的话,系统会提示“文件丢失,请插入光盘修复”。

判断系统文件是否被修改用的应该是MD5一类的效验吧。
2008-10-17 15:53
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那替换系统DLL的木马是怎么做到的呢? 是绕过了WFP的检测吗
2008-10-17 15:56
0
雪    币: 288
活跃值: (53)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
系统的“文件保护”程序估计也是用HOOK技术实现的。

替换系统文件的病毒一般都是驱动级的,比如“机器狗病毒”,它是利用磁盘过滤驱动自己去挂接的IO,然后读写磁盘数据的。

系统的“文件保护”程序HOOK的只是高层( ring3)API,只有调用这些API时才会触发“文件保护”程序(默认设置),如果调用没被HOOK到的API(如ring0 API),那么“文件保护”程序就不起作用了。

“文件保护”程序对系统文件的检测有多种方式,注册表中可以设置。如被动、主动、自动等。
2008-10-17 16:40
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了 谢谢
2008-10-17 17:36
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
一个简单绕过WFP的方法
先将DllCache里的同名文件替换掉
2008-10-18 11:37
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
7
1.系统是识别DLL版本的,但不是用在系统文件保护上。而这个版本就是在PE头部的一个值,因此伪造是一点不难的。同样现在的病毒还会伪造的包括公司名和文件时间戳,以欺骗手动查看的用户。磁碟机的某些版本,你查看它的驱动时,会看到 Microsoft Corporation,版本号6.0.2900.5512,修改日期与系统文件相同等,这些都是伪造的。

2.Windows系统文件保护验证的是文件的数字签名,是Microsoft的签名,而这个要伪造其难度较大。

3.Windows系统文件保护是在受保护的文件被修改后,用正确的版本给替换回来,而不是直接拦截修改操作。并且该功能是登录时刻启动的,它的配置值是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]     "SFCDisable" =dword:00000000
为0是启用,为4是完全禁用。
所以推测该保护应该是在Ring3中Hook的,或者不是Hook,而是直接在相关Win32API内部代码就嵌入了这一功能。

注:以上是个人经验所谈,有错莫怪,欢迎指正。
2008-10-18 12:11
0
游客
登录 | 注册 方可回帖
返回
//