2012-12-19 55 views
0

有沒有什麼辦法可以製作一個.vbs文件只讀,這樣沒人能讓某個特定的人讀取內容或更改內容?但只能雙擊該文件才能開始執行。我將設置一個Main.vbs,將其放入以下位置如何使.vbs讀/寫保護?

Dim oShell : Set oShell = WScript.CreateObject ("WScript.Shell") 
oShell.run "A.VBS", 1, True 
oShell.run "B.VBS", 1, True 
oShell.run "C.VBS", 1, True 
oShell.run "D.VBS", 1, True 

用戶將僅在main.vbs上單擊以開始執行。所有的.vbs我想要讀/寫保護。我的想法是否可行?

謝謝,

回答

2

如果你不能讀它,你不能運行它。

您可以設置權限,以便其他人(管理員除外)不能更改文件,但如果他們應該能夠運行它,則無法防止人們讀取文件。

+0

所以,如果我只是隻讀,那麼我的想法可能嗎? –

+0

所以我需要手動設置權限,或者可以通過windows命令完成。還有一件事要問我可以使這些文件爲.EXE? –

+2

您可以在GUI中或通過命令手動設置權限。效果將是相同的。至於將VBScript轉換爲EXE:請使用搜索引擎。 –

0

需要考慮的其他選項。腳本可以使用Microsoft腳本編碼器進行編碼。這將使它不可讀。一個下載鏈接在這裏(找不到官方微軟下載鏈接)http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/Microsoft-Script-Encoder.shtml。當然,人們可以使用適當的工具來解碼文件。

另一種選擇是使用代碼簽名證書對腳本進行數字簽名。這仍然允許查看它,但不能在不破壞數字簽名的情況下進行修改。

甚至對腳本進行編碼,然後對其進行數字簽名。

+0

如果我解碼這些腳本,它會執行他們已經創建的任務。並且解碼器軟件也需要安裝到其他我爲之製作的PC上。因爲這些腳本將全局運行! –

+2

沒有必要解碼腳本。腳本引擎(WScript或CScript)將自動解碼並運行它。在進行編碼時,只需將擴展名爲「.vbe」即可使用,無需執行任何其他操作。 – sj1900

+0

Microsoft腳本編碼器的問題在於用於保護腳本的算法非常弱。關於如何解碼的算法和示例的詳細信息已在多年前發佈(http://wp.daveheavyindustries.com/2011/04/28/decoding-windows-script-encoder-encoded-scripts/)。 – jveazey

0

如果這樣做的目的是爲了保護你的代碼,那麼你總是可以製作一個可執行文件。