利用Word解锁注册表

 

利用Word解锁注册表
目前网上有许多网页含有恶意代码,而几乎每一个恶意网页都要禁用我们的注册表编辑器。其实质就是修改注册表,将注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerssion\Policies\System分支下的DWORD值“Disableregistrytools”的键值改为“1”,这样,我们一运行注册表编辑器就会出现“注册编辑已被管理员所禁止”的对话框。面对这样的恶意锁定,我们可以用Word来给注册表解锁。请大家点击桌面上的Word图标,运行Word,然后录制一个名为“Unlock”宏,运行该宏即可给注册表解锁,以下是该宏的源代码:
Sub Unlock()
Dim RegPath As String
RegPath = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System"
System.PrivateProfileString(FileName:="",Section:=RegPath,Key:="Disableregistrytools")="OK!"
End Sub
您是不是觉得本方法很奇妙?其实说穿了也很简单,主要是利用了注册表的一个特性,即在同一注册表项下,不能有相同名字的字符串值和DWORD值,如果先前有一个DWORD值存在,则后建立的同名的字符串值会将其覆盖,这也就间接的删除了原值,在本例中就是DWORD值Disableregistrytools被同名的字符串值所覆盖删除。
在本方法利用了VBA中的System对象,System是有关计算机系统信息的一个特殊对象,该对象的PrivateProfileString属性可在Windows注册表中添加字符串值,其使用格式为:“System.PrivateProfileString(FileName, Section, Key)=Keyword”。该属性除了可操作注册表外,还可对Windows的ini配置文件进行操作。在对注册表操作时,这里的FileName必须是空字符串(""),Section是欲操作注册表项的完整路径,Key是欲操作注册表项的键值名,Keyword是对应于Key的键值。
另外,之所以给新建立的“Disableregistrytools”字符串值赋值为“OK!”,是因为在解锁后该字符串值并没有什么用处,所以临时赋值为“OK!”,当然你不赋值也可以。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章