瑞星卡卡安全论坛技术交流区系统软件 用VB编程修复IE浏览器。【原创】

1234   1  /  4  页   跳转

用VB编程修复IE浏览器。【原创】

用VB编程修复IE浏览器。【原创】

看到版主的200大元的奖励,真是眼馋,不由得也想来捞点使。
看到许多人提到注册表被恶意修改的问题,便想到干脆编写一个修复IE的程序,或许说不定还真的给版主欣赏赏一两百大元呢。我真是个天才,这样的点子也能给我想到。(底下有人嘀咕:怎么这臭小子这么象《灌篮高手》中的樱木花道啊)
废话说了这么多,还是先写程序吧,免得挨臭鸡蛋。(底下有人大喊:你再不写我可真的要扔了。)
好吧,想学的请跟我一步一步来。
打开VB,点击工程菜单,选择添加模块,然后输入以下代码:
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
`Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long        ` Note that if you declare the lpData parameter as String, you must pass it By Value.
`Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
`Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long        ` Note that if you declare the lpData parameter as String, you must pass it By Value.

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const REG_NONE = 0                      ` No value type
Public Const REG_MULTI_SZ = 7                  ` Multiple Unicode strings
`Public Const REG_LINK = 6                      ` Symbolic Link (unicode)
Public Const REG_EXPAND_SZ = 2                  ` Unicode nul terminated string
Public Const REG_DWORD_BIG_ENDIAN = 5          ` 32-bit number
Public Const REG_DWORD = 4                      ` 32-bit number
Public Const REG_BINARY = 3                    ` Free form binary
Public Const REG_SZ = 1                        ` Unicode nul terminated string
注意:前面有`的可以不输入,那是注释
(底下有人嘀咕:这么多,太难打了。)
好吧,只好再教多一招吧:用Api文本查看器打开win32api.txt,输入以上函数名,然后复制过来就行了。
回到工程中,把一个按钮控件加到主窗体上,将caption属性设置为“修复IE”,将窗体的caption属性设置为“IE修复器”,然后输入以下代码:
  Dim hKey As Long
  RegCreateKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\System", hKey
  RegSetValueEx hKey, "DisableRegistryTools", 0, REG_DWORD, 0, 4
  RegCloseKey hKey
  RegCreateKey HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\Main", hKey
  RegSetValueEx hKey, "Window Title", 0, REG_SZ, ByVal "Microsoft Internet Explorer", 13
  RegCloseKey hKey
  RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Internet Explorer\Main", hKey
  RegSetValueEx hKey, "Window Title", 0, REG_SZ, ByVal "Microsoft Internet Explorer", 13
  RegCloseKey hKey   
好,大功告成。
(底下有人大喊:不会吧,就这么点代码就可以完全修复IE)
不用吵,我知道,但请你们仔细看一下代码,它虽然只是能够使注册表可以使用以及修复IE标题栏,但在这几行代码中,它已经涉及了API和注册表编程的方法,按以上方法,你完全可以自己完善它,你只需了解应该在注册表中如何设置成IE原来的样子就可以了。(详细可以参考瑞星网站提供的介绍或找有关注册表的书来看一下)
以上程序在win98、VB5上运行通过。
参考资料:《windows 9X/2000/ME/NT/XP 注册表完全攻略》
附程序图:

附件附件:

文件名:
下载次数:0
文件类型:
文件大小:
上传时间:2003-1-7 21:24:18
描述:

本帖被评分 1 次
最后编辑2007-03-11 23:37:18
分享到:
gototop
 

漂亮漂亮
gototop
 

好东东。

最好加上

预防恶意网页代码的一些建议 解除常见恶意修改的一些方法
http://forum.ikaka.com/topic.asp?board=67&artid=4305103

中的一些注册表项设置。
gototop
 

ding
gototop
 

试试~
gototop
 

vb不会用  。。。
gototop
 

好东西!
gototop
 

回楼主,那我先另存副本了以后慢慢看
我有问题‘vb保存代码是什么?我邮件360guojain360@163.com
gototop
 

虽然我学过VB但是2级还是没考出来
不知道这个东西我能不能弄好
我先试试吧
我才16,以后有的是时间慢慢学习VB
gototop
 

可以用c写吗 
vb不会用
gototop
 
1234   1  /  4  页   跳转
页面顶部
Powered by Discuz!NT