Encryption/copyright 我的 powershell PS1 文件

Encryption/copyright my powershell PS1 file

我已经完成了我的 powershell 工具,想知道是否有一种方法可以阻止人们将来对其进行更改。

我知道我可以将它编译成一个 exe 文件,但我真正想要的是停止对代码的修改,这样它就会永远有我的名字反对它,我为我的工具感到自豪所以会讨厌如果我离开了组织,他们仍在使用它,有人来了,更改了几行代码,它就声称是他们自己的。

即使在代码中使用密码加密也可能。

关于这将如何运作或是否可行有任何想法吗?

干杯

Encryption/copyright 我的 powershell PS1 文件

您可以在概要中添加您的版权声明。 您甚至可以将编码图片与您想要的任何消息一起应用。

你不能加密你的代码,但你可以 encode/obfuscate 它(但这很容易被任何愿意尝试的人逆转 - 就像 DLL 可以被逆向工程一样 - 这就是破解者/黑客和开发人员在需要)

PowerShell Obfuscator

Invoke-Obfuscation: A PowerShell Command & Script Obfuscator!

所有这些混淆和加密的东西都会引起安全人员/监视器的注意,并且应该是黑客用来逃避人们和破坏系统的东西。

您可以使用代码签名证书对您的代码进行签名

Hey, Scripting Guy! How Can I Sign Windows PowerShell Scripts with an Enterprise Windows PKI? (Part 2 of 2)

然后您可以使用 ps2exe 将其转换为 .exe,同样这可以反转。

系统上的任何 PowerShell 代码 运行 都必须由主机解码为 运行,这意味着,任何人都可以通过查看 Windows PowerShell 日志来获取您的代码.这是白帽在面临使用代码混淆的攻击时对代码进行去混淆的一种方式。

这已经是你所能得到的最接近的结果了,但正如 Ansgar Wiechers 所说,即使你从未离开雇主,你仍然必须以纯文本形式留下源代码,以便能够传递给谁如果你升职了,调到一个新团队或离开公司或天堂禁止你离开你的凡人线圈,人们需要解决你的代码,就会取代你。

按照您所说的去做,这就是 Y2K 成为现实的原因。无法找到原始代码的开发人员来更正他们的垃圾代码。这就是为什么许多公司仍在使用 WinXP 或更早版本的原因,因为开发人员将代码编译为旧的东西,因此无法更改。

既然 MS 已将所有 PowerShell 都作为开源发布,那么您为什么要这样做?由于 MS PowerShell Gallery 上的每一段代码都是开源的,同样如此。

最后,我很确定你的代码不是全部原创的。你的意思是说,你没有查看任何其他资源/示例/示例来获得最终的脚本产品? 您是否在您的代码中注明了这些样本/示例的作者?

如果您只是想防止普通用户弄乱您的代码,那么 PS2EXE 应该是您最谨慎的选择。然而,仍然为那些将在源代码控制系统中以纯文本形式关注您的人存储它,例如 VSS、GitHub 等...