查看: 6760|回复: 12
收起左侧

[系统] regsvr32命令是修改注册表么?

[复制链接]
fenghua2048
发表于 2013-3-30 23:11:13 | 显示全部楼层 |阅读模式
regsvr32命令是为了加载控件而对相应的注册表项目进行写入(或删除)操作,是这样的吗?
wlb333300
发表于 2013-3-30 23:15:45 | 显示全部楼层
Regsvr32命令的作用是将动态链接库文件注册为注册表中的命令组成。WInXP系统的regsvr32.exe在windows\system32文件夹下;2000系统的regsvr32.exe在winnt\system32文件夹下。
主要功能
轻松修复IE浏览器
在线升级的问题
卸载鸡肋功能
防范脚本病毒
添加/删除程序
等等

评分

参与人数 1经验 +3 收起 理由
woxihuan2011 + 3 感谢解答: )

查看全部评分

伊川书院
发表于 2013-3-31 03:33:35 | 显示全部楼层
本帖最后由 伊川书院 于 2013-3-31 03:40 编辑

“regsvr32命令是修改注册表么”,这样子的说法太笼统了,也可以说对,,也可以说没表术清楚。。。

应该说
Regsvr32能够实现对外部动态库(ActiveX控件,这样子理解省事点)等文件对注册表的配置或卸载,,这样子表术洽当一点



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1经验 +3 收起 理由
woxihuan2011 + 3 感谢解答: )

查看全部评分

fenghua2048
 楼主| 发表于 2013-3-31 14:41:41 | 显示全部楼层
伊川书院 发表于 2013-3-31 03:33
“regsvr32命令是修改注册表么”,这样子的说法太笼统了,也可以说对,,也可以说没表术清楚。。。

应该 ...

通常需要用regsvr32命令进行系统修复的时候,是相应的dll文件被损坏了呢、还是说仅仅是相应的注册表被修改?如果两种情况都有的话,执行regsvr32命令各会有什么样的结果提示?
伊川书院
发表于 2013-3-31 15:15:11 | 显示全部楼层
本帖最后由 伊川书院 于 2013-3-31 15:21 编辑
fenghua2048 发表于 2013-3-31 14:41
通常需要用regsvr32命令进行系统修复的时候,是相应的dll文件被损坏了呢、还是说仅仅是相应的注册表被修改 ...


打个比方:
regsvr32  shell32
只是把shell32对应的配置写到相应的注册表中。
regsvr32 /u  shell32
只是把shell32对应的注册表配置卸载掉。

它并不会对:C:\WINDOWS\system32\shell32.dll这个实体文件做修改,删除,生成等处理。

它只对注册表的相应的配置做增加或减少等关联操作,然后系统通过这些相对应的关联做对目标地址的实体文件的加载。。。

同理,regsvr32 /u  卸载后,只是系统不对相应的dll做加载,这个dll实体文件还是呆在原目标地址上,也就是说,他还在电脑的磁盘上,只不过系统不用它。

因此,破坏的现象,有多种,
1.注册表的关联配置被破坏了。
2.目标地址的dll实体文件不存在或被破坏了,或版本不一样,
恋爱的夏娜
头像被屏蔽
发表于 2013-3-31 15:41:53 | 显示全部楼层
其实说到底,regsvr32,全称是Registry Server 32,只是带了一个Registry的单词有了注册的意思,但是并不对所谓的注册表进行操作,只是注册那些ocx dll等等的文件,让他们可以被系统调用,可能修改的应该是注册表里面一组特定 的键值吧,并不是用来专门改注册表的。
穿越星空
发表于 2013-4-1 00:45:59 | 显示全部楼层
regsvr32用来注册ActiveX/COM组件,只有当被注册文件导出DllRegisterSever和DllUnregisterSever函数时,才可用regsvr32进行注册和反注册,这个过程对[HKEY_CLASSES_ROOT\CLSID]下的内容产生影响。

评分

参与人数 1经验 +4 收起 理由
woxihuan2011 + 4 感谢解答: )

查看全部评分

fenghua2048
 楼主| 发表于 2013-4-1 13:50:57 | 显示全部楼层
如果对HKEY_CLASSES_ROOT\CLSID项、以及system32文件夹都设置权限,只给予读取权限,是否可以避免系统控件被病毒破坏呢?
a330391
发表于 2013-4-1 13:57:19 | 显示全部楼层
fenghua2048 发表于 2013-4-1 13:50
如果对HKEY_CLASSES_ROOT\CLSID项、以及system32文件夹都设置权限,只给予读取权限,是否可以避免系统控件被 ...

不用那么当心被病毒破坏,难道你对你自己平时的上网习惯不放心吗?
装杀软后尽量留意杀软的提示,如果遇到不明文件,你也可以上传VT扫描一下。
loms126
发表于 2013-4-1 14:04:04 | 显示全部楼层
恋爱的夏娜 发表于 2013-3-31 15:41
其实说到底,regsvr32,全称是Registry Server 32,只是带了一个Registry的单词有了注册的意思,但是并不对 ...

是 Register Server(注册服务),不是Registry Server(注册表服务)。

来自维基百科:http://en.wikipedia.org/wiki/Regsvr32

In computing, regsvr32 (Microsoft Register Server) is a command-line utility in Microsoft Windows operating systems for registering and unregistering DLLs and ActiveX controls in the Windows Registry.
To be used with regsvr32, a DLL must export the functions DllRegisterServer and DllUnregisterServer.

regsvr32是Microsoft Windows操作系统底下的指令,在注册表中,用来对DLL档和ActiveX档做注册及反注册的动作。用 regsvr32.exe 注册的 DLL,必须提供 DllRegisterServer 和 DllUnregisterServer 两个函数。


Regsvr32的参数说明:
Regsvr32 [/n] [/i[:cmdline]] dllname
/u - 反注册
/i - 调用DllInstall可添加可选参数[cmdline];当和/u一起使用时调用 dll uninstall
/n - 不调用DllRegisterServer;该参数必须和/i一起使用
/s – 静默模式;不显示对话框(Windows XP和Windows Vista中新增选项)
但要注意,如果当前目录和默认系统目录(C:\windows, C:\windows\system32)都有名为 foo.dll 的文件时,那么,regsvr32 只会用系统目录下的文件,而不会使用目前目录下的文件。解决办法是加上全路径,例如 c:\temp\foo.dll;或是使用底下语法:
regsvr32 .\foo.dll
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-4 11:52 , Processed in 0.156795 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表