Powershell导入编码模块

问题描述:

我正在写一个脚本有很多模块,但我不想让用户看到我的源代码,所以我想在base64中编码所有内容,因为用户将无法解码它即使它是基本的。 我试图以某种方式添加一个编码模块,但没有运气。Powershell导入编码模块

所以我的问题是 - 是否有可能导入base64编码模块到主脚本文件?

如果您有任何更好的解决方案来隐藏源代码请分享,我会非常乐意尝试它们。

P.S.我试图找到一些有关制作.dll文件的信息,但发现我必须用C#重写脚本。 (如果我没有遗漏任何东西)

另外我试图把所有模块放到一个编码文件中,但是文件变得太大,Powershell无法处理它。

你有两个选择,如果你想非常确定没有人能够访问你的代码,使你的代码进入一个EXE文件已经提到,有几个项目可以合并这但是This one很好,因为它完全包含在PS中。另一种更好的方法是使用一个混淆器,该混淆器将取代你的代码并用无意义的字符串替换变量名,并进行其他更改以使代码非常难以阅读,但仍有可能计算出代码,但通常不值得努力,你可以找到一个工作的Here。但我必须补充一点,混淆你的代码确实违背了PowerShell的精神,我建议不要这样做,除非你有一些要求也从管理传递下来。请注意,这是一个可接受的模糊代码的方法,其中包括密码,api键或需要保护的任何其他信息,因为所有这些都很容易从以这种方式混淆的代码中提取。

+0

谢谢,那是我真正不知道的事情,我的意思是混淆器。谢谢它帮助我实现了自己的目标 – SokIsKedu

+0

乐意提供帮助,请记住,如果您想要进行更改,则需要保留非混淆的代码版本,并且仍然可以制定出背后的逻辑你的代码,更难。 –

您可以通过使用

https://ps2exe.codeplex.com/

你最好还是能够在代码即可获得,如果你想你的PS1变为一个exe文件,但它会防止漫不经心的样子。

为什么要隐藏模块?

+0

那么这些都是自定义模块,并包含大量的逻辑和功能。因此允许用户看到这些将违背接收到的要求。谢谢我现在正在看它 – SokIsKedu