PowerShell导入编码模块



我正在编写一个带有很多模块的脚本,但我真的不希望用户看到我的源代码即使是基本的,也能够解码它。我尝试以某种方式添加一个编码的模块,但没有运气。

所以我的问题是 - 是否可以将基本64编码的模块导入主脚本文件?

如果您有更好的隐藏源代码的解决方案,请共享,我很乐意尝试一下。

P.S。我试图找到有关制作.dll文件的一些信息,但发现我必须在C#中重写脚本。(如果我什么都没错过)

还尝试将所有模块放入一个编码的文件中,但是该文件变得太大,PowerShell无法再处理它。

您有两个选项,如果您希望非常确定没有人能够访问您的代码,可以将代码组合在一起,将您的代码纳入EXE,有几个项目可以做到这一点,但是这个项目很好,因为它完全包含在PS中。另一种IMO更好的方法是使用obfuscator,它将使用您的代码并用胡说八道替换变量名称,并进行其他更改以使您的代码很难阅读,仍然可以奏效您的代码,但通常不值得这项工作,您可以在这里找到一个工作。但是我确实必须补充说,使您的代码混淆确实与Powershell Ethos背道而驰,我建议不要这样做,除非您有某种要求也从管理层中传下来。并且请注意,此不是一种可接受的模糊代码的方法,其中包括密码,API键或任何其他需要确保的信息,因为所有这些都很容易从已被混淆的代码中提取。这样。

您可以使用

将PS1更改为EXE文件

https://ps2exe.codeplex.com/

如果您尝试过,您仍然可以使用代码,但这将阻止随意外观。

为什么要隐藏模块?

最新更新