自動匯入註冊表的,帶檢測:
On Error Resume Next
dim msg,fso,shell
Set fso = Wscript.createobject("scripting.filesystemobject")
set wshshell = wscript.CreateObject("wscript.shell")
set shell = wscript.createobject("wscript.shell")
IF (fso.FileExists("e:\勁樂團\reg.reg")) Then
shell.run "c:\windows\Regedit.exe /s e:\勁樂團\reg.reg "
shell.run "e:\勁樂團\O2Jam.exe"
Else
msg=msgbox("註冊表未匯入,遊戲可能無法啟動,如無法進遊戲請叫網管~",1,"出問題啦!!")
shell.run "e:\勁樂團\O2Jam.exe"
end if
不帶檢測的:
On Error Resume Next
Dim oShell,fso
Set oShell = WScript.CreateObject("WScript.Shell")
set fso = CreateObject("Scripting.filesystemobject")
oShell.Run "regedit /s 9you.reg"
oShell.Run "d:\網路遊戲\勁樂團\O2Jam.exe"
自動載入虛擬光碟機的:
Dim oShell
Set oshell= WScript.CreateObject("WScript.Shell")
oShell.Run "c:\progra~1\daemon~1\daemon.exe -mount 0,D:\lan\戰地2\BF2CD1mini.mds"
wscript.sleep 5000
oShell.Run "D:\lan\戰地2\BF2.exe"
另一例子:
Dim Wsh,DMpath,ISOpath
DMpath = "X:\Y\daemon.exe" '設定DM路徑
ISOpath = "Z:\大富翁七\RICH7B.mds" '設定鏡像檔案路徑
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.run chr(34) & DMpath & chr(34) &" -mount 0,"&ISOpath,0,true
Wscript.Sleep 3000 '最好延時幾秒等待鏡像載入完畢 1000 = 1 秒
Wsh.run "Z:\大富翁七\rich7.exe"
Set WSH = Nothing
WScript.quit
//每次開機的時候自動匯入註冊表和程式
Option Explicit
Dim Folder
Folder = "d:\aaa" '設定你要執行的檔案夾
Dim Wsh,fso
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f,fc,f1,ext
Set f = fso.GetFolder(Folder)
Set fc = f.Files
For Each f1 in fc
ext = LCase(fso.GetExtensionName(f1))
Select Case ext
Case "exe"
wsh.run f1,,true
Case "reg"
wsh.run "Regedit /s "& f1,,true
end Select
Next
Set fso=NoThing
Set Wsh = Nothing
WScript.quit
//排除指定檔案或檔案夾刪除多餘的檔案或檔案夾,黑火原創
Option Explicit
''''''''''''''說明''''''''''''
'網盟-黑火製作,送給需要的朋友。
'設定檔“Listfile.ini”的格式如下:
'要刪除什麼(檔案|目錄)=要執行刪除的檔案夾=排除1;排除2;排除3............
'設定檔可以有多行,以便對多個目錄進行操作。
'設定檔裡以“/”開頭的行為注釋行。
'排除多個內容時,使用分號“;”進行分隔。
'↓↓↓ 設定檔例子:↓↓↓
'/設定檔開始
'目錄=D:\=System Volume Information;網路遊戲;單機遊戲;小遊戲
'目錄=C:\Program Files=qq;WinRAR
'檔案=D:\網路遊戲=檔案1.exe;檔案2.exe
'/設定檔結束
'''''''''''''說明完''''''''''''
Dim Fso,Listfile,objListfile
Listfile = "" '設定設定檔路徑,如果設定檔和指令碼放在一起,請保持原樣
If Listfile = "" Then Listfile = "Listfile.ini"
Set Fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set objListfile = Fso.OpenTextFile(Listfile,1)
If Err Then
err.Clear
Msgbox "沒有找到設定檔 "&Listfile,16,"錯誤"
WScript.quit
End If
On Error GoTo 0
Dim flnum,fdnum,t1,t2,tm
flnum=0
fdnum=0
t1 = timer()
Dim Myline,LineArr,ListArr
Do While objListfile.AtEndOfStream <> True
Myline = LCase(Replace(objListfile.ReadLine,"==","="))
If Left(Myline,1) = "/" Then
'objListfile.SkipLine
ElseIf CheckLine(Myline) = 2 Then
LineArr = Split(Myline,"=")
'DoFolder = LineArr(1)
ListArr = Split(LineArr(2),";")
'MsgBox LineArr(0)
If LineArr(0) = "目錄" Then DelFolder LineArr(1),ListArr
If LineArr(0) = "檔案" Then DelFile LineArr(1),ListArr
End If
Loop
t2 = timer()
tm=cstr(int(( (t2-t1)*10000 )+0.5)/10)
MsgBox "掃描完畢,共刪除 "&fdnum&" 個目錄, "&flnum& "個檔案。"& vbCrLf &"耗時 "&tm&" 毫秒",64,"執行完畢"
'不需要顯示報告的話,注釋掉上面這一行
Set Fso=NoThing
WScript.quit
Sub DelFolder(Folder,ListArr)
Dim objFolder,subFolders,subFolder
Set objFolder=Fso.Getfolder(Folder)
Set subFolders=objFolder.subFolders
For Each subFolder In subFolders
If Not InArray(LIstArr,LCase(subFolder.name)) Then
On Error Resume Next
subfolder.Delete(True)
If Err Then
err.Clear
Msgbox "不能刪除目錄,請檢查 "&subFolder,16,"錯誤"
Else
fdnum = fdnum + 1
End If
On Error GoTo 0
End If
Next
End Sub
Sub DelFile(Folder,ListArr)
Dim objFolder,Files,File
Set objFolder=Fso.Getfolder(Folder)
Set Files=objFolder.Files
For Each File In Files
If Not InArray(LIstArr,LCase(File.name)) Then
On Error Resume Next
File.Delete(True)
If Err Then
err.Clear
Msgbox "不能刪除檔案,請檢查 "&File,16,"錯誤"
Else
flnum = flnum + 1
End If
On Error GoTo 0
End If
Next
End Sub
Function CheckLine(strLine)
Dim LineRegExp,Matches
Set LineRegExp = New RegExp
LineRegExp.Pattern = ".=."
LineRegExp.Global = True
Set Matches = LineRegExp.Execute(strLine)
CheckLine = Matches.count
End Function
Function InArray(Myarray,StrIn)
Dim StrTemp
InArray = True
For Each StrTemp In Myarray
If StrIn = StrTemp Then
Exit Function
Exit For
End If
Next
InArray = False
End Function
!獲得特定檔案夾的路徑(例如目前使用者的案頭在磁碟中的實際位置,等等,相當於vc中的SHGetSpecialFolderPath()函數)
Set wsShell = CreateObject("WScript.Shell")
DesktopPath = wsShell.SpecialFolders("Desktop")
!擷取目前使用者名稱
Set WshNetwork = WScript.CreateObject("WScript.Network")
UserName= WshNetwork.UserName
!擷取系統變數%SystemRoot%(當然其他的系統變數可以類推,只是不只是不是都要通過PROCESS中轉一下)
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshSysEnv = wsShell.Environment("PROCESS")
SystemRoot = WshSysEnv("WINDIR")
!將域使用者或租添加到本機群組
Set objGroup = GetObject("WinNT://./Administrators")
Set objUser = GetObject("WinNT://testnet/Engineers")
objGroup.Add(objUser.ADsPath)
!修改本地管理員密碼
Set objcnlar = GetObject("WinNT://./administrator, user")
objcnla.SetPassword "P@ssW0rd"
objcnla.SetInfo
!彈出 YES or NO 的對話方塊,不同的選擇執行不同的代碼
intAnswer = Msgbox("Do you want to delete these files?", vbYesNo, "Delete Files")
If intAnswer = vbYes Then
Msgbox "You answered yes."
Else Msgbox "You answered no."
End If
!運行CMD命令列命令
set obshell=wscript.createobject("wscript.shell")
obshell.run ("ipconfig"),,true
如果要啟動並執行命令中包含雙引號,可使用&chr(34)&代替
!忽略代碼錯誤繼續執行
On Error Resume Next
放置於代碼的最開頭,當代碼運行出錯後並不停止跳出而是繼續執行下一條。適當應用會很有效果。
!破解下載限制
DIM WSH
SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")
WSH.POPUP("本程式的作用是解決無法下載的問題")
WSH.POPUP("特別是在註冊表禁用的情況下破解")
WSH.POPUP("由曾誠製作")
WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1803",0,"REG_DWORD"
WSH.POPUP("現在您可以下載程式了!")
!讀本機“電腦名稱”
'ReadComputerName.vbs
Dim ReadComputerName
Set ReadComputerName=WScript.CreateObject("WScript.Shell")
Dim ComputerName,RegPath
RegPath="HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName"
ComputerName=ReadComputerName.RegRead(RegPath)
MsgBox("電腦名稱為"&ComputerName)
!隱藏捷徑表徵圖上的小箭頭
'Hidden.vbs
Dim HiddenArrowIcon
Set HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
Dim RegPath1,RegPath2
RegPath1="HKCR\lnkfile\IsShortCut"
RegPath2="HKCR\piffile\IsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
!改造“開始”菜單
'ChangeStartMenu.vbs
Dim ChangeStartMenu
Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\"
Type_Name="REG_DWORD"
Key_Data=1
StartMenu_Run="NoRun"
StartMenu_Find="NoFind"
StartMenu_Close="NoClose"
Sub Change(Argument)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("Success!")
End Sub
Call Change(StartMenu_Run) '禁用“開始”菜單中的“運行”功能
Call Change(StartMenu_Find) '禁用“開始”菜單中的“尋找”功能
Call Change(StartMenu_Close) '禁用“開始”菜單中的“關閉系統”功能
!向Windows中添加自啟動程式
該程式能在開機時自動運行。
'AddAutoRunProgram.vbs
'假設該程式在c:\myfile檔案夾中,檔案名稱為autorun.exe
Dim AutoRunProgram
Set AutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLM\Software\Microsoft\Windows\CurrentVersion\Run\"
Type_Name="REG_SZ"
Key_Name="AutoRun"
Key_Data="C:\Myfile\autorun.exe"
'該自啟動程式的全路徑檔案名稱
AutoRunProgram.Write RegPath&Key_Name,Key_Data,Type_Name
'在啟動組中添加自啟動程式autorun.exe
MsgBox("Success!")
一、給登錄編輯程式解鎖
用記事本編輯如下內容:
DIM WSH
SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL") '擊活WScript.Shell對象
WSH.POPUP("解鎖登錄編輯程式!")
'顯示彈出資訊“解鎖登錄編輯程式!”
WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion
\Policies\System\DisableRegistryTools",0,"REG_DWORD"
'給登錄編輯程式解鎖
WSH.POPUP("註冊表解鎖成功!")
'顯示彈出資訊“註冊表解鎖成功!”
儲存為以.vbs為副檔名的檔案,使用時雙擊即可。
二、關閉Win NT/2000的預設共用
用記事本編輯如下內容:
Dim WSHShell'定義變數
set WSHShell=CreateObject("WScript.shell") '建立一個能與作業系統溝通的對象WSHShell
Dim fso,dc
Set fso=CreateObject("Scripting.FileSystemObject")'建立檔案系統對象
set dc=fso.Drives '擷取所有磁碟機盤符
For Each d in dc
Dim str
WSHShell.run("net share"&d.driveletter &"$ /delete")'關閉所有磁碟機的隱藏共用
next
WSHShell.run("net share admin$ /delete")
WSHShell.run("net share ipc$ /delete")'關閉admin$和ipc$管道共用
現在來測試一下,先開啟cmd.exe,輸入net share命令就可以看到自己機子上的共用。雙擊執行stopshare.vbs後,會看見視窗一閃而過。然後再在cmd裡輸入net share命令,這時候沒有發現共用列表了
三、顯示本機IP地址
有許多時候,我們需要知道原生IP地址,使用各種軟體雖然可以辦到,但用VBS指令碼也非常的方便。用記事本編輯如下內容:
Dim WS
Set WS=CreateObject("MSWinsock.Winsock")
IPAddress=WS.LocalIP
MsgBox "Local IP=" & IPAddress
將上面的內容儲存為ShowIP.vbs,雙擊執行即可得到本機IP地址。
四、利用指令碼編程刪除日誌
入侵系統成功後駭客做的第一件事便是清除日誌,如果以圖形介面遠端控制對方機器或是從終端登陸進入,刪除日誌不是一件困難的事,由於日誌雖然也是作為一種服務運行,但不同於http,ftp這樣的服務,可以在命令列下先停止,再刪除,在命令列下用net stop eventlog是不能停止的,所以有人認為在命令列下刪除日誌是很困難的,實際上不是這樣,比方說利用指令碼編程中的VMI就可以刪除日誌,而且非常的簡單方便。原始碼如下:
strComputer= "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
dim mylogs(3)
mylogs(1)="application"
mylogs(2)="system"
mylogs(3)="security"
for Each logs in mylogs
Set colLogFiles=objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='"&logs&"'")
For Each objLogfile in colLogFiles
objLogFile.ClearEventLog()
Next
next
將上面的代碼儲存為cleanevent.vbs檔案即可。在上面的代碼中,首先獲得object對象,然後利用其clearEventLog ()方法刪除日誌。建立一個數組,application,security,system,如果還有其他日誌也可以加入數組。然後用一個for迴圈,刪除數組中的每一個元素,即各個日誌。
五、利用指令碼偽造日誌
刪除日誌後,任何一個有頭腦的管理員面對空空的日誌,馬上就會反應過來被入侵了,所以一個聰明的駭客的學會如何偽造日誌。利用指令碼編程中的eventlog方法創造日誌非常簡單,請看下面的代碼:
set ws=wscript.createobject("Wscript.shell")
ws.logevent 0 ,"write log success" '建立一個成功執行日誌
將上面的代碼儲存為createlog.vbs即可。這段代碼很容易理解,首先獲得wscript的一個shell對象,然後利用shell對象的logevent方法。logevent的用法:logevent eventtype,"description" [,remote system],其中eventtype為日誌類型,可以使用的參數如下:0代表成功執行,1執行出錯,2警告,4資訊,8成功審計,16故障審計。所以上面代碼中,把0改為1,2,4,8,16均可,引號中的內容為日誌描述。利用這種方法寫的日誌有一個缺點,即只能寫到應用程式記錄檔,而且日誌來源只能為 WSH,即Windows Scripting Host,所以不能起太多的隱蔽作用,在此僅供大家參考。
六、禁用開始菜單選項
用記事本編輯如下內容:
Dim ChangeStartMenu
Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\"
Type_Name="REG_DWORD"
Key_Data=1
StartMenu_Run="NoRun"
StartMenu_Find="NoFind"
StartMenu_Close="NoClose"
Sub Change(Argument)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("Success!")
End Sub
Call Change(StartMenu_Run) '禁用“開始”菜單中的“運行”功能
Call Change(StartMenu_Find) '禁用“開始”菜單中的“尋找”功能
Call Change(StartMenu_Close) '禁用“開始”菜單中的“關閉系統”功能
將以上代碼儲存為ChangeStartMenu.vbs檔案,使用時雙擊即可。
七、執行外部程式
用記事本編輯如下內容:
DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C set var=world", 1, TRUE)
儲存為.vbs檔案即可。在這段代碼中,我們首先設定了一個環境變數,其名為var,而值為world,使用者可以使用%Comspec%來代替cmd.exe,並且可以把命令:set var=world改成其它的命令,這樣就可以使它可以運行任意的命令。
八、重新啟動指定的IIS服務
用記事本編輯如下內容:
Const ADS_SERVICE_STOPPED = 1
Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")
Set objService = objComputer.GetObject("Service","MYSERVICE")
If (objService.Status = ADS_SERVICE_STOPPED) Then
objService.Start
End If
//檢查Search目錄中的特定檔案中的特定字元並將結果放入Result.txt中
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Const ForReading = 1
Const ForAppending = 8
Dim arrFileLines()
i=0
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "
ootcimv2")
Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where Path = '\search\'")
For Each objFile in colFiles
If objFile.Extension = "log" Then
FileName = objFile.Name
Wscript.Echo FileName
End IF
Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("input.txt",ForReading)
InputLine = objFile.ReadLine
objFile.Close
set objFile = objFSO.OpenTextFile(FileName,ForReading)
Do Until objFile.AtEndOfStream
SearchLine = objFile.ReadLine
If InStr(SearchLine,InputLine) = 0 Then
Else
Redim Preserve arrFileLines(i)
arrFileLines(i) = SearchLine
i=i+1
End If
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile("result.txt", ForAppending)
For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
objFile.WriteLine arrFileLines(l)
Next
objFile.Close
//在使用者登陸的時候清除所有的管理員賬戶,只保留Administrator和NetShowServices,並修改Administrator的密碼為55555555
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
StrUser = objNetwork.Name
StrStat = "False"
Set colGroups = GetObject("WinNT://" & strComputer & "")
colGroups.Filter = Array("group")
For Each objGroup In colGroups
For Each objUser in objGroup.Members
If objUser.name = StrUser Then
If objGroup.Name = "Aadministrators" Then
StrStat = "True"
End If
End If
Next
Next
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
For Each objUser in objGroup.Members
If objUser.Name = "Administrator" OR objUser.Name = "NetShowServices" Then
If objUser.Name = "Administrator" AND StrStat = " True " Then
objUser.SetPassword "55555555"
End If
Else
objGroup.Remove(objUser.ADsPath)
End If
Next
//妙用指令碼和批處理清除電腦中的痕迹
實現本功能使用了兩個檔案,VBS指令檔reg.vbs(可以自己定義檔案名稱);批次檔reg.bat(可以自己定義檔案名稱)。
1.VBS指令檔如下:
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\reg","reg.vbs"
WSHShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deldel","reg.bat"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "about:blank"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\",""
WSHShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\",""
WSHShell.RegWrite "HKCU\Software\3721\InputCns\",""
WSHShell.RegDelete "HKCU\Software\3721\InputCns\"
WSHShell.RegWrite "HKCU\Software\3721\InputCns\",""
本指令碼前二行為定義變數,請大家照著寫。從第三行開始,是對註冊表的處理。第三行、第四行為在註冊表中添加電腦啟動時自動啟動並執行過程檔案,一個是該指令碼自身為reg.vbs,另一個是reg.bat批次檔。第五行為還原IE開始頁為“about:blank”;第六、七、八行為清除IE瀏覽器地址欄留下的曾經瀏覽過的網頁地址名;第九、十、十一行為清除IE地址欄裡的網路實名。
2.批次檔如下:
@deltree -y c:\windows\temp\*.*
@deltree -y c:\windows\"Temporary Internet Files"\*.*
@deltree -y c:\windows\History\*.*
@deltree -y C:\Windows\Recent\*.*
@deltree -y C:\RECYCLED\*.*
@deltree -y C:\WINDOWS\Cookies\*.*