|
| |
精品推荐 |
 |
|
| |
|
|
|
|
windows文件保护机制
|
日期:2004年7月5日 作者:清风网络学院 查看:[大字体
中字体 小字体]
|
如果我们在win2000下运行任何过时的win32病毒,我们会发现一个讨厌的对话框,上面显示:
“一个受windows保护的系统文件被替换,为了维持系统的稳定性,这个文件已经被恢复成正确的系统版本,如
果你的程序发生了错误,请联系微软帮助中心获得支持。”
Heh!windows2000维护着一个被系统保护的文件的列表,并且忽略任何替换或修改这些文件的请求,同时显示
上面的信息。通过翻阅windows2000 DDK文档,我们可以发现更多有关文件保护的信息,
“当SFP检测到一个受保护的系统文件被替换,它会还原这个系统文件。当一个在系统保护目录下的文件被更改
时,SFP收到一个目录变更通知并被激活,SFP收到这个通知之后,它将检测哪个文件被更改,如果这个文件是
受保护的,SFP将从某个目录文件中寻找这个文件的数字签名来判断它是否是正确的版本,如果这个文件的版本
不正确,系统将试着用dllcache目录中的一个文件来恢复它,如果dllcache中没有这个文件,系统将会从distrib
ution media中寻找一个替代文件.
查找注册表我们可以找到一些与SFP有关的键: HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
SfcBugcheck SfcDisable SfcQuota SfcScan
SfcDisable这个键似乎就是我们所要找的,这个键值可以是FLASE (00h) 或者 TRUE (01h),现在让我们把它设
成TRUE
FUCK! 真倒霉,我们没能改变世界,SfcDisable的确可以禁用SFP,但是只有下次启动之后才能生效,最糟的是
,下次启动的时候,系统将跳出一个消息框通知用户SFP已被禁用,然后系统将重新激活SFP。
当我在windows2000 bata 2 下工作时,我发现把 SfcDisable键值设成除00h和01h之外的数值(例如设置成04h
),可以防止系统在下次启动时显示警告对话框,这样很好。当系统重新激活SFP时,SFP将对受保护的文件进
行一次扫描,那个时候系统将警告我们哪些文件受到了修改。
当我写这篇文章的时候,windows2000 beta 3 build 2072已经推出了,我没有预料到SFP的执行过程被大幅度
的更改了,因此让我们仔细的看看它的内部运行机制。
在查看WINLOGON.EXE 输入节的时候,我注意到以下描述符: SFC.DLL
Hint/Name Table: 0001BA80 TimeDateStamp: FFFFFFFF ForwarderChain: FFFFFFFF First thunk RVA: 00001690 Ordn Name 1 2
SFC.DLL是一个包含了SFP运行期函数的动态链接库,让我们看看它提供了哪些API exports table:
Name: sfc.dll Characteristics: 00000000 TimeDateStamp: 37741427 Version: 0.00 Ordinal base: 00000001 # of functions: 0000000B # of Names: 00000004
Entry Pt Ordn Name 0000743A 1 000073D2 2 00003D70 3 00003DA9 4 00003DB5 5 00003DED 6 00003E21 7 00003F0B 8 SfcGetNextProtectedFile 00003FA0 9 SfcIsFileProtected 00008D1D 10 SfcWLEventLogoff 00008C5A 11 SfcWLEventLogon
看了这一大堆另人厌烦的函数之后,我决定仔细研究SfcIsFileProtected这个API,当我们传递一个文件名给Sf
cIsFileProtected,它将告诉我们这个文件是否受到SFP的保护,让我们来看看下面这段C代码:
if ( SfcIsFileProtected( NULL, szFileName) == 0) { printf ( "Not protected.\n") ; } else { printf ( "Yes, its protected.\n") ; }
通过使用这个API,我们可以防止操作系统的重要文件受到病毒的感染,并且病毒无法寄生在这些受保护的文件
上去感染其它的计算机,这可能是一种防止病毒感染的办法。。。我从没见过有什么软件站点提供windows的计
算器程序下载: P
下面给出一些代码,演示SFC.DLL提供的一些API的用法 ---------------------------------------------------------------------------------- GriYo / 29A
上一篇:最新代理列表
下一篇:恶意代码危害逐个析
|
| windows文件保护机制 相关文章: |
|
|
|
| windows文件保护机制 相关软件: |
|
|
|
|