首页 > 解决方案 > 隐藏源脚本 PowerShell GUI

问题描述

我们可以使用 PS2EXE-GUI 将 PowerShell 脚本转换为可执行的 exe 文件。我们现在有一个exe文件。一切都很好。生成的 exe 文件是一个 .Net 程序集,其中包含 Base64 编码的源脚本。这意味着代码没有隐藏。可以使用 -Extract 键轻松恢复它:

Script.exe -Extract: 'Script.ps1'

这是否意味着我无法创建一个完全隐藏源代码的外壳?当然,我们不是在谈论汇编程序。有什么方法可以在 GUI exe 文件中隐藏 PowerShell 源代码?谢谢

标签: powershell

解决方案


最后,这将不是一个可逆的加密,因为脚本引擎需要解释它。
并且可逆加密(基于对称密钥算法)很弱,另请参阅:是否可以使用可逆加密安全地存储密码?

引用:

可逆加密的主要弱点很简单:如果密钥被泄露,加密的数据就会被泄露。

这意味着它本质上与将其隐藏在Base64加密后面相同。

一旦加密流行起来,它就会被黑客入侵,你会在网上找到在线解密器,就像 VBScript.vbe加密一样。

换句话说,如果您的脚本中有任何特定内容需要隐藏(如密码),您应该寻找其他方向,例如:在不同的凭据下运行脚本,提示输入密码,或者只是给用户(有限) 对相关应用程序的权利(您可以通过提供脚本有效地做到这一点)。


推荐阅读