2012-12-19 27 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

如果这样做的目的是为了保护你的代码,那么你总是可以制作一个可执行文件。