瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 用VB编程修复IE浏览器。【原创】
江湖游客 - 2003-1-7 21:24:00
看到版主的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 注册表完全攻略》
附程序图:

附件:
毒你千遍 - 2005-1-18 14:11:00
漂亮漂亮
endurer - 2005-1-19 21:24:00
好东东。

最好加上

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

中的一些注册表项设置。
jaden - 2005-1-20 11:37:00
ding
数据修复 - 2005-2-12 10:45:00
试试~
可怜的猫猫 - 2005-2-12 10:55:00
vb不会用  。。。
安德倚天剑 - 2005-2-12 20:27:00
好东西!
郭建 - 2005-2-13 23:49:00
回楼主,那我先另存副本了以后慢慢看
我有问题‘vb保存代码是什么?我邮件360guojain360@163.com
恺撒尊王 - 2005-2-14 13:43:00
虽然我学过VB但是2级还是没考出来
不知道这个东西我能不能弄好
我先试试吧
我才16,以后有的是时间慢慢学习VB
美丽的星空 - 2005-2-14 13:51:00
可以用c写吗 
vb不会用
大漠飞雕 - 2005-4-3 13:22:00
好,收了
广校雄哥 - 2005-4-3 21:18:00
用这么麻烦吗?
去3721下载上网助手不的了`!!!
飘渺无情 - 2005-8-20 17:21:00
顶 我狂顶!!!!
橄榄草 - 2005-8-20 22:45:00
编程得需要多久能学好?
偶也想学
lufeihztc - 2006-8-1 22:07:00
好东东 我只会VB
wo很土 - 2006-10-6 15:19:00
楼主是不是计算机专业的
学计算机专业累不累啊
封神梦想 - 2006-11-4 18:47:00
太好了
ALONE2008 - 2006-11-18 22:42:00
还是请吧这东东发给我吧!
nidenide2006@126.com
谢谢了
晨风2008 - 2006-11-19 13:12:00
自己写个完善的,多谢楼主!
GHRH - 2006-11-20 14:53:00
可不可以没有发现被修改时(对了要用搜索声明),TEXT可惜显示出来(反回值),设置个按钮自己操作,
自动的不习惯

if then
else
end if
.....
不好的注册 - 2007-2-13 11:13:00
汗。。
这也算是精华贴?
编程小学生 - 2007-2-13 17:07:00
学习中~~!
pwwwq - 2007-2-14 9:12:00
大哥你说的太专业了看不懂啊什么是VB啊,我是菜鸟看不懂啊!能不能说得详细点,谢谢了!!!!!!!!!!
女校男生 - 2007-2-16 11:53:00
向楼主学习
可惜偶现在还看不懂
jmbt - 2007-2-19 9:59:00
谢谢
我是来来 - 2007-2-23 14:53:00
燚之虓者 - 2007-2-27 12:13:00
好东西!
雙吇蓙ㄩ戀僾 - 2007-3-1 23:15:00
啥玩意都不知道.还是夸夸你嘛.免得你以后不发贴咯.呵呵..!
小zh娃 - 2007-3-3 15:11:00
这哥们你真中,中,有空来唐山的话我一定请请你!!多多指教呀!!
feng9891 - 2007-3-10 15:38:00
ding
12
查看完整版本: 用VB编程修复IE浏览器。【原创】