Powershell脚本完整性

时间:2017-09-06 19:00:25

标签: powershell data-integrity

尝试查找可以验证正在运行的脚本是否已被修改的方法。我以为我可以签署脚本并让它自行检查,但唯一的保护是将所有执行策略设置为仅使用签名脚本运行,在某些位置可能不是这样。

我还考虑过编译脚本,但实际上并不知道实际会实现什么......

出于兼容性原因,尽量使其尽可能免于依赖,因此最低版本的Powershell会减少对外部库的依赖。

1 个答案:

答案 0 :(得分:1)

开放脚本很难保护。有几种选择。

1:将脚本编译为可执行文件。这可以防止大多数用户知道如何修改脚本。

2:缩小/丑化脚本,使其变得非常难以理解或修改而不会破坏。

3:正如您所提到的,签名脚本可能会有所帮助,具体取决于环境。

4:使用上述方法之一,让脚本与服务器核对,以验证脚本的完整性。

这些都不是100%万无一失,但它确实为您提供了选项,具体取决于脚本运行的环境。

以下是一个模糊PowerShell脚本的应用示例:PowerShell Obfuscator