我正在编写一个包含很多模块的脚本,但我真的不希望用户看到我的源代码,因此我想在base64中对所有内容进行编码,因为用户无法对其进行解码,即使它是那个基本的。 我试图以某种方式添加一个编码模块,但没有运气。
所以我的问题是 - 是否可以将base64编码模块导入主脚本文件?
如果您有任何更好的解决方案来隐藏源代码请分享,我会非常乐意尝试一下。
P.S。我试图找到一些关于制作.dll文件的信息,但发现我必须在C#中重写脚本。 (如果我没有错过任何东西)
此外,我尝试将所有模块放入一个编码文件中,但随后文件变得太大而且Powershell无法再处理它。
答案 0 :(得分:1)
答案 1 :(得分:1)
你有两个选项,如果你想非常肯定没有人能够访问你的代码,你的代码已经被提到了,那么可以合并两个选项,有几个项目可以做到这一点但是This one很好,因为它完全包含在PS中。另一种,更好的方法是使用混淆器,它将获取代码并用无意义的字符串替换变量名称并进行其他更改以使您的代码非常难以阅读,它仍然可以计算出您的代码但通常不值得努力,你可以找到一个工作Here。但我必须补充说,混淆你的代码真的违背了PowerShell的精神,我建议不要这样做,除非你有一些要求也从管理层传下来。请注意,这个 NOT 是一种模糊代码的可接受方法,包括密码,API密钥或任何其他需要保护的信息,因为所有这些都很容易从已被混淆的代码中提取出来这样。