用户可以查看我的PowerGUI编译的PowerShell脚本吗?

用户可以查看我的PowerGUI编译的PowerShell脚本吗?,powershell,powergui,Powershell,Powergui,我使用PowerGUI将我的PowerShell脚本转换为可执行文件,并且工作正常 我想防止我编译的脚本被我将生成的可执行文件分发给的用户提取或反编译 是否可以在生成的可执行文件中查看我的PowerShell脚本?如果是这样,我如何防止这种情况发生?不幸的是,使用PowerGUI,即使使用“使用密码保护脚本源代码”选项,也无法阻止可执行文件的用户查看脚本 PowerGUI生成的可执行文件是自解压ZIP文件,因此可以使用7-ZIP或WinRAR打开此文件并查看原始PowerShell脚本 如果您使

我使用PowerGUI将我的PowerShell脚本转换为可执行文件,并且工作正常

我想防止我编译的脚本被我将生成的可执行文件分发给的用户提取或反编译


是否可以在生成的可执行文件中查看我的PowerShell脚本?如果是这样,我如何防止这种情况发生?

不幸的是,使用PowerGUI,即使使用“使用密码保护脚本源代码”选项,也无法阻止可执行文件的用户查看脚本

PowerGUI生成的可执行文件是自解压ZIP文件,因此可以使用7-ZIP或WinRAR打开此文件并查看原始PowerShell脚本


如果您使用“使用密码保护脚本源代码”选项设置密码,那么所做的就是对ZIP容器中的文件进行密码保护。但是,当启动生成的可执行文件时,系统会提示您输入所述密码,然后可以使用该密码访问原始脚本。

如果您想稍微混淆代码,请查看PS2EXE:

其中指出:

  • 下载ps2exe

  • 运行电源外壳 将ps2exe的文件夹放入cd

  • 运行: \yourfile.ps1-输入文件C:\Users\franc\Desktop\temp\ps2exe\Install.ps1 C:\Users\franc\Desktop\temp\ps2exe\Install.exe

  • 检查文件夹,exe将在那里


  • 这取决于转换器的工作方式。它可能只是一个调用ps1的exe包装器。或者它可能是二进制的,在这种情况下,逆向工程可能很困难。你不是想把密码之类的东西藏在里面吧?谢谢你的快速回复。我不是用exe调用ps1文件。它完整的.exe文件,其中包含powershell代码。在我看到一个用户的评论后,该用户解压缩了exe并找到了脚本。不管怎样,我用7 zip提取了文本文件,很低,看,这是我的脚本。。也可以引用一位以前的团队成员的话说,这取决于您是否选中了“保护源代码”复选框。不确定为什么所有人都投了反对票,这是关于PowerShell开发工具的一个非常理智的问题:/谢谢你的详细解释。除了Powergui和保护代码之外,还有什么方法可以将ps1转换为exe吗?@sreeharibab-我不知道有什么工具可以做到这一点。你可能想在谷歌上搜索一下,看看是否有PowerShell的“混淆器”,我搜索了几分钟,没有找到任何东西。您最好将任何您想要保护的PS功能重写为编译的C#或VB.NET控制台exe。