admin 管理员组

文章数量: 887039


2024年2月21日发(作者:特别军事行动)

用批处理修改注册表方法0000000

如何用批处理修改注册表方法二则2009-12-31 10:05echo

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones3]>>o "1803"=dword:00000000>>以上生成REG文件.del

还可以:写一个注册表文件,放在一个位置..然后批处理导入:@echo offexit

先学习一下如何使用.REG文件来操

000

00000000

regedit /s 运行REG后删除之.000

0000000

0000000

00000000regedit /s 注册表文件路径000000

000000说明:/s是不弹出确认提示直接导入

00000000作注册表.(我们可以用批处理来生成一个REG文件)

关于注册表的操作,常见的是创建、修改、删除。1.创建

00000000

00000000创建分为两种,一种是创建子项(Subkey)

我们创建一个文件,内容如下:

Windows Registry Editor Version 5.00

0000000

00000000[HKEY_LOCAL_MACHINESOFTWAREMicrosofthacker]

0000000然后执行该脚本,你就已经在

HKEY_LOCAL_MACHINESOFTWAREMicrosoft下创建了一个名字为"hacker"的子项。

0000000

另一种是创建一个项目名称

式一致,内容如下:

00000000那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格00000000

00000000Windows Registry Editor Version 5.00

onRun]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersi00000000"Invader"="Ex4rch"

"Autodos"=dword:02

这样就在00000000"Door"=C:

0000

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下 新建了:Invader、door、about这三个项目

0000000

0000000Invader的类型是"String value"

door的类型是"REG SZ value"

2.修改

Autodos的类型是"DWORD value"

00000000

0000000

00000000修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。

3.删除

000

我们首先来说说删除一个项目名称,我们创建一个如下的文件:

000000

00000000Windows Registry Editor Version 5.00

onRun]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersi00000000"Ex4rch"=-

0000000执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下的"Ex4rch"就被删除了;

0000000

我们再看看删除一个子项,我们创建一个如下的脚本:

00000000

00000000Windows Registry Editor Version 5.00

ionRun]

[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVers000000执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]就已经被删除了。

000000

相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。

0000

samlpe1:如上面的那个例子,如想生成如下注册表文件

0000000Windows Registry Editor Version 5.00

onRun]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersi00000000"Invader"="Ex4rch"

"door"=hex:255

只需要这样:

00"Autodos"=dword:000000128

0000000

00000000

000@echo Windows Registry Editor Version 5.00>>

00000@echo

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]>

00000000

00000000@echo "Invader"="Ex4rch">>

@echo "door"=5>>C:>>

00000000@echo "Autodos"=dword:02>>

samlpe2:

00

00000000我们现在在使用一些比较老的木马时,可能会在注册表的

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun(Runonce、Runservices、0000000Runexec)]下生成一个键值用来实现木马的自启动.但是这样很容易暴露木马程序的路径,从而导致木马被查配置好地IRC木马DSNX为例(名为)

00杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以000000

@start

@echo

0000000@attrib +h +r

000000[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] >>

0000000

@echo "windsnx "=- >>

00000000@ create Windriversrv type= kernel start= auto

displayname= WindowsDriver binpath=

c:

@regedit /s

@delete

00

00000000

000000

@REM [删除DSNXDE在注册表中的启动项,用将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]

@REM 这样不是更安全.

怎么用批处理命令删注册表里的键值或用命令的方法删注册表值?

0000000

0000000REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

00000000KeyName [Machine]FullKey

0000000Machine 远程机器名 - 忽略当前机器的默认值。

远程机器上只有 HKLM 和 HKU。

FullKey ROOTKEYSubKey

0000000

0000000

0000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名。

ValueName 所选项下的要删除的值的名称。

/ve 删除空白值名称的值(默认)。

/va 删除该项下的所有值。

/f 不用提示就强行删除。

例如:

0

000000

省略时,该项下的所有子项和值都会被删除。

000

00

0000000REG DELETE HKLMSoftwareMyCoMyAppTimeout

删除注册表项 Timeout 及其所有子项和值

0000000

REG DELETE ZODIACHKLMSoftwareMyCo /v MTU

00000000删除 ZODIAC 上 MyCo 下的注册表项 的参数

00

filename 导入 .reg 文件进注册表

/e 导出注册表文件

0000000/s 导入 .reg 文件进注册表(安静模式)

0

000例:regedit /e HKEY_LOCAL_MACHINESYSTEM

00000/L:system 指定

/R:user 指定

0000000

00000000

隐藏导入注册表信息用regedit /s 即可出了其命令行参数及其使用方法。

00000000在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给00000000

语法:Regedit[/L:system][/R:user]filename1

Regedit[/L:system][/R:user]/Cfilename2

0000000Regedit[/L:system][/R:user]/Efilename3[regpath]

0000000其中:

/L:system指定文件的存放位置。

/L:user指定文件的存放位置。

filename1指定引入注册表数据库的文件名。

/Efilename3指定导出注册表文件的文件名。

00000000

000000

00000000/Cfilename2指定形成注册表数据库的文件名。

0regpath指定导出注册表文件的开始关键字(缺省为全部关键字)

00000现举几个例子说明在DOS下的使用方法。

00000000

【例1】将系统注册表数据库registry导出到文件中。

000000

000000regedit/

000【例2】形成系统注册表数据库registry(全部)中。

00000regedit/

000000

0000000【例3】将引入系统注册表数据库中(部分)。

000000

【例4】将CJH开始的关键字导出注册表数据库,并命名为。

000000regedit/

0000000

【例5】指定system/dat存放在D:PWIN中和存放在E:PWIN中,将数据文件形成一个新的注册表数据库registry。

0000000

00000000regedit/L:D:PWIN/R:E:PWIN/

有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。

000000

我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOTtxtfile”子键这一分支,即执行命令:

000

0000

0000000regedit/Y_CLASSES_ROOTtxtfile

有的“C:”全部改成

然后用DOS下的EDIT编辑器打开文件进行编辑:将其中所“C:”,存盘退出EDIT,再在命令行下执行命令:

XP上新加的注册表操作命令

ADD

000000

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator]

[/d Data] [/f]

KeyName [Machine]FullKey

00远程机器的机器名 - 忽略默认到当前机器。

远程机器上只有 HKLM 和 HKU。

FullKey ROOTKEYSubKey

ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下注册表项的完整名

/v 所选项之下要添加的值名

/ve 为注册表项添加空白值名<无名称>

/t RegKey 数据类型

0000

0000000

00000000[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |

REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |

0000000

000000REG_NONE | REG_EXPAND_SZ ]

如果忽略,则采用 REG_SZ

000000

/s 指定一个在 REG_MULTI_SZ 数据字符串中

用作分隔符的字符

/d 要分配给添加的注册表 ValueName 的数据

/f 不用提示就强行改写现有注册表项

例如:

REG ADD ABCHKLMSoftwareMyCo

000000

00000000如果忽略,则将 "0" 用作分隔符

000添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo

00000

REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead

000000

添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

000000

REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d fax0mail

000000

000添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax0

00000

COMPARE

00000000

REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]

000000

KeyName [Machine]FullKey

远程机器上只有 HKLM 和 HKU

FullKey ROOTKEYSubKey

000

0000000Machine 远程机器名 - 省略当前机器的默认值

000000

0000000

0000000如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同

ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名

省略时,该项下的所有值都会得到比较

/ve 比较空白值名称的值

/s 比较所有子项和值

Output [/oa | /od | /os | /on]

省略时,只显示不同的结果

/od 只显示不同的结果

/os 只显示匹配结果

/on 不显示结果

返回代码:

0 - 成功,比较的结果相同

1 - 失败

例如:

REG COMPARE HKLMSoftwareMyCoMyApp

HKLMSoftwareMyCoSaveMyApp

000000

ValueName 所选注册表项下的要比较的值的名称

000

0000000

0000000

0000/oa 显示所有不同和匹配结果

00000000

000000

000000002 - 成功,比较的结果不同

0000000将注册表项 MyApp 下的所有值跟 SaveMyApp 比较

REG COMPARE HKLMSoftwareMyCo HKLM

COPY

KeyName [Machine]FullKey

远程机器上只有 HKLM 和 HKU

FullKey ROOTKEYSubKey

00000000REG COPY KeyName1 KeyName2 [/s] [/f]

0000000Machine 远程机器名 - 忽略当前机器的默认值

000000

0000000

0000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名

/s 复制所有子项和值

例如:

REG COPY HKLMSoftwareMyCoMyApp

HKLMSoftwareMyCoSaveMyApp /s

0000000

/f 不用提示就强行复制

000

将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp

000000

REG COPY ZODIACHKLMSoftwareMyCo HKLM

DELETE

000

0000000REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

0000000

KeyName [Machine]FullKey

远程机器上只有 HKLM 和 HKU

FullKey ROOTKEYSubKey

00000000Machine 远程机器名 - 忽略当前机器的默认值

000000

0000000

0000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名

ValueName 所选项下的要删除的值的名称

/ve 删除空白值名称的值

/va 删除该项下的所有值

/f 不用提示就强行删除

例如:

00000000

省略时,该项下的所有子项和值都会被删除

0

000

REG DELETE HKLMSoftwareMyCoMyAppTimeout

删除注册表项 T

LOAD

KeyName ROOTKEYSubKey (只是本地机器的)

ROOTKEY [ HKLM | HKU ]

册表项

0000

0000000REG LOAD KeyName FileName

00000000

SubKey 要将配置单元文件加载进的注册表项名称。创建一个新的注00000000FileName 要加载的配置单元文件名

0000000

您必须使用 REG SAVE 来创建这个文件

0000000

QUERY

KeyName [Machine]FullKey

0000000REG QUERY KeyName [/v ValueName | /ve] [/s]

Machine 远程机器名 - 忽略当前机器的默认值

远程机器上只有 HKLM 和 HKU

0

0000000FullKey 格式为 ROOTKEYSubKey

000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名

/v 查询特定注册表项

0000000

000000

00000000ValueName 所选项下的要查询的值的名称

省略时,该项下的所有值都会得到查询

/s 查询所有子项和值

RESTORE

00000000

0000000

/ve 查询默认值或空白值名称

0

0000000REG RESTORE KeyName FileName

KeyName ROOTKEYSubKey (只是本地机器)

0000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

0SubKey 要将配置单元文件还原到的注册表项全名。

00000000改写现有项的值和子项

FileName 要还原的配置单元文件名

0000000您必须使用 REG SAVE 来创建这个文件

0000000

SAVE

KeyName ROOTKEYSubKey

000

0000000REG SAVE KeyName FileName

0000000ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]

SubKey 所选 ROOTKEY 下的注册表项的全名

000000

FileName 要保存的磁盘文件名。如果没有指定路径,

0000000文件会在调用进程的当前文件夹中得到创建

UNLOAD

00

REG UNLOAD KeyName

00000000KeyName ROOTKEYSubKey (只是本地机器的)

ROOTKEY [ HKLM | HKU ]

000

0000000SubKey 要卸载的配置单元的注册表项名称

reg add "项" /v(value的缩写) 值 /t(type) reg_dword(默认是eg_sz) /d(data的缩写) "要插入的数据值" /f(forbiden的缩写,即强制的意思)

例如

0000000

00000000

reg add "HKLMSYSTEMCurrentControlSetControlSession" /v

test /t reg_dword /d 1 /f

这句命令就是往你的注册表

000

00000000HKLMSYSTEMCurrentControlSetControlSession

这个项下面新建一个 reg_dowrd 类型的值,名字为test,数据为 1

000000

00000000/f 表示在运行如果注册表里已经有这个值也不会提示你,直接修改,

000000如果没有这个参数的话,它会提示你是不是要修改

0 0

00000


本文标签: 注册表 文件 导出 创建 删除