vbs腳本宿主
① 什麼叫做腳本宿主
什麼是VBScript呢? VBScript的全稱是:Microsoft Visual Basic Script Editon.(微軟公司可視化BASIC腳本版). 正如其字面所透露的信息, VBS(VBScript的進一步簡寫)是基於Visual Basic的腳本語言. 我進一步解釋一下, Microsoft Visual Basic是微軟公司出品的一套可視化編程工具, 語法基於Basic. 腳本語言, 就是不編譯成二進制文件, 直接由宿主(host)解釋源代碼並執行, 簡單點說就是你寫的程序不需要編譯成.exe, 而是直接給用戶發送.vbs的源程序, 用戶就能執行了. 我知道菜鳥現在最關心的就是用什麼工具來開發VBS程序了, 答案是:記事本.(Notepad).我不是開玩笑, 其實任何一種文本編輯器都可以用來開發VBS開發, 只不過記事本是由系統自帶的, 比較好找而已. 盡管如此, 我還是建議你去下載一個專業的文本編輯器, 因為這些工具可以提供 "語法高亮"等功能, 更加方便開發, 用哪一個隨你喜好, 我比較喜歡Edit Plus (2.10). OK, 我們先來寫一個VBScript程序熱熱身. REM 輸入並回顯你的名字 \'使用InputBox和Msgbox函數 Dim name,msg msg="請輸入你的名字:" name=Inputbox(msg,"名稱") Msgbox(name) 把上面的程序清單輸入到記事本裡面, 然後保存為以.vbs為擴展名的文件("保存類型"裡面選擇"所有文件").然後雙擊運行, 觀察運行結果. 注意:請自己輸入程序清單, 不要復制->粘貼 我來解釋一下這個程序, 第一行和第二行的開頭分別是"REM"語句和" \' ", 這兩個東西的作用是相同的, 表示本行是注釋行, 就是說這兩行什麼也不幹,只是用來說明這段程序的功能, 版權信息等等. 注釋行是程序最重要的部分之一, 盡管它不是必需的, 但對於其他人閱讀源代碼, 以及自己分析源代碼是很有好處的. 好的習慣是在必要的地方加上清晰, 簡潔的注釋. Dim用來聲明一個變數, 在VBS中, 變數類型並不是那麼重要, 就是說VBS會幫你自動識別變數類型, 而且變數在使用前不一定要先聲明, 程序會動態分配變數空間. 在VBS中你不用考慮name儲存的是一個整數還是一個小數(學名叫"浮點數"), 也不用考慮是不是字元串(一串字元, 比如:"Hello World"), VBS會自動幫你搞定. 所以第三行語句可以刪除, 效果不會變, 但我強烈反對這么做, 一個變數的基本原則就是:先聲明,後使用.變數名用字母開頭,可以使用下劃線,數字, 但不能使用vbs已經定義的字, 比如dim, 也不能是純數字. 下一行被稱之為"賦值", "="是賦值符號, 並不是數學中的等於號, 盡管看起來一樣.這是正統的理解, 你要理解成等於也沒有什麼不可. 賦值號的左邊是一個變數, 右邊是要賦給變數的值, 經過賦值以後, msg這個變數在程序中等同於"請輸入你的名字:"這個字元串,但當msg被再次復制的時候, 原值就會消失. 不光字元串, 其他任何變數都這樣被賦值, 例如: a=2, b=12.222等等. 再往下,Inputbox和Msgbox是VBS內建的函數, 一個函數就相當於一個"黑箱", 有輸入(參數)和輸出(返回值), 你可以不用了解函數是怎麼運作的, 只要了解這個函數能幹什麼就行了, 我們也可以定義自己的函數, 不過那要等到以後再講. 現在我們只要了解, 一個函數可以有返回值也可以沒有, 可以有參數也可以沒有. 例如Inputbox就是有返回值的函數, 我們用賦值號左邊的變數來"接"住InputBox的返回值--就是你輸入的內容. 在inputbox右邊的括弧里是參數列表, 每個參數用","分隔開, 每個參數有不同的功效, 比如第一個參數會顯示在提示里, 我們把msg這個變數作為第一個參數傳給了Inputbox 函數, 而msg="請輸入你的名字:", 所以我們在對話框的提示欄就會看到"請輸入你的名字:" 第二個參數是對話框的標題, 我們用直接量(學名叫"常量", 這里是"字元串常量")傳遞給函數, 當然你也可以傳遞變數. Inputbox還有很多參數, 比如你在"名稱"後面再加一個","然後輸入隨便一串字元(字元串,用雙引號""包裹起來的一串字元叫做字元串)然後運行, 看看結果. 你會發現用於輸入的文本框有了默認的值, 這就是第三個參數的作用. Msgbox函數是用來輸出的函數, 在VBS中沒有專門的輸出函數(BASIC中的print,C中的printf), 所以我們只能用對話框來觀察輸出結果, Msgbox的必要參數只有一個, 就是要輸出的內容, 在這種情況下, 我們不需要理會msgbox的返回值. 關於Msgbox和Inputbox我們以後還會在討論, 今天只是熱熱身, 到此為止. 要點: 1) 注釋(以REM或\'開頭)行在程序中不起作用, 但能讓別人更容易讀懂你的程序. 2) 變數好像一個盒子, 或一個代號, 可以代表你想代表的東西. 變數賦值使用"=" 3) 以""包裹起來的字元稱之為"字元串" 4) 函數像一個"黑箱", 有參數和返回值, 用"="左邊的變數可以接住返回值 5) Inputbox函數彈出一個輸入對話框,Msgbox則用於輸出 作業: 1) 試驗Inputbox的第三個參數 2) 寫一段程序輸出你的年齡 3) 寫一段程序進行3次輸入, 分別輸入你和你父母的姓名(要求顯示提示), 並分3次輸出 呵呵,這樣啊。現在做病毒的人真是煩。 進入注冊表,找到下面的鍵: HKey_Local_Machine\Software\Classes\.vbs\","VBSFile" 把值改為txtfile,這樣就可以免疫了。 硬碟分區或移動盤符,根目錄下會多出七個文件:autorun.bat autorun.vbs autorun.bin autorun.inf autorun.txt autorun.reg autorun.wsh,都是隱藏、系統、只讀屬性。 解決方法: 首先:到文件夾選項中,顯示所有隱藏文件及系統文件。 下一步,去注冊表項目里把啟動項中載入的autorun.exe給刪了, 然後到進程管理器中(ctrl+alt+del)停止wscript.exe,即可停止腳本調用。 然後把各盤及system32裡面的7個文件全部刪掉,重新啟動。 注意:這個是利用autorun.bat,autorun.vbs,autorun.reg進行擴展的木馬 首先你第一次雙擊硬碟圖標時會首次載入autorun.bat,然後會調用reg文件對注冊表中的開機初始進程userinit後面增加這個autorun以保證其下次能夠自啟動,然後autorun.bat這個文件會開啟windows中使用腳本的進程wscript以成功運行其autorun.vbs,進而實現一個循環鏈,單純刪除文件都會被恢復。
② 開機彈出WINDOWS腳本宿主 腳本 C\WINDOWS\system32\smss.exe:2075451338.vbs怎麼辦
解決方法:
1.找到vbs的名稱
開始菜單-運行-regedit,順次打開
HKEY_LOCAL_MACHINE\OFTWARE\Microsoft\Windows\CurrentVersion\Run
在裡面找到
ctfmon這個項,就可以看到vbs的名字了
順手把剛才提到的注冊表項都刪了
2.在下面三個文件夾里頭
找
帶數字的
vbs腳步文件
,如
2075451338.vbs
刪除
c:\windows
c:\windows\system32
c:\documents
and
settings\%username%\local
settings\temp
③ 運行了個vbs,出現彈窗腳本宿主,誰能幫我把彈窗內容整理成txt文本,就是cmd操作那個vbs直接保存成txt
最後把腳本貼出來才好說,看看用什麼函數的彈窗,Wscript.Echo還是Msgbox
④ 360誤殺內存卡vbs腳本宿主文件!!!
不是誤殺,內存卡上有病毒
,把腳本刪除後但卡上還有病毒主程序在,所以雙擊時打不開。可以用右鍵打開的方式試試。另外,要完全解決這個問題,得把查看隱藏文件的屬性打開,然後把卡內的病毒主程序刪除掉,重新插入內存卡就可以正常打開了。或者
用殺毒軟體對內存卡進行查殺。病毒清除干凈後記得要拔下內存卡重新插才可以。
⑤ 腳本宿主C:\Windows\system32\1216013405.vbs
這個一般是由於病毒或者木馬感染替換系統文件,殺毒軟體無法清除直接刪除文件導致的,建議你安裝專業的殺毒軟體,更新病毒庫後處理。
最簡單的方法,推薦你下載一個工具,金山網盾,網路搜索第一個就是的。
金山網盾一鍵修復功能可以完美解決這個問題的。
⑥ 我寫的vbs出現腳本宿主
8.3文件名在搞怪,run不支持長文件名,或者說裡面含有空格,使用短文件名即可,這里我使用了shortpath函數自動獲取,這樣方便,你也可以直接使用短文件名路徑,E:\Progra~1\騰訊游戲\地下城與勇士\start\DNF.bat。
'===================================================================
set ws=WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f=fso.GetFile("E:\Program Files\騰訊游戲\地下城與勇士\start\DNF.bat")
ws.run f.Shortpath,0
保證可以解決問題。
⑦ VBS腳本 怎麼不顯示上面的windows腳本宿主如題 謝謝了
不能,因為你用的VBS,這種弱類型語言註定要依附windows 所以一直顯示windows腳本宿主。 你要是用C++寫,就不存在這樣的問題了。
麻煩採納,謝謝!