gpt4 book ai didi

c# - 如何防止我的代码被盗?

转载 作者:IT王子 更新时间:2023-10-29 04:15:06 35 4
gpt4 key购买 nike

当我启动 .NET exe 时到底发生了什么?我知道 C# 被编译为 IL 代码,我认为生成的 exe 文件只是启动运行时并将 IL 代码传递给它的启动器。但是怎么办?它的过程有多复杂?

IL 代码嵌入在 exe 中。我认为它可以从内存中执行而无需将其写入磁盘,而普通的 exe 则不能(好吧,是的,但它非常复杂)。

我的最终目标是提取 IL 代码并编写我自己的加密启动器,以防止 scriptkiddies 在 Reflector 中打开我的代码并轻松窃取我的所有类。好吧,我不能完全阻止逆向工程。如果他们能够检查内存并捕捉到我将纯 IL 传递给运行时的时刻,那么它是否是 .net exe 并不重要,不是吗?我知道有几种混淆器工具,但我不想弄乱 IL 代码本身。

编辑:所以看起来不值得尝试我想要的东西。他们无论如何都会破解它......所以我会寻找一个混淆工具。是的,我的 friend 们也说过,将所有符号重命名为无意义的名称就足够了。逆向工程毕竟不会那么容易。

最佳答案

如果您绝对坚持对您的程序集进行加密,最好的方法可能是将您的程序代码放入类库程序集中并对其进行加密。然后,您将编写一个小的 stub 可执行文件,它将程序集解密到内存中并执行它们。

这是一个非常糟糕的主意,原因有二:

  1. 您必须在 stub 中包含加密 key 。如果 1337 黑客可以有意义地使用您的反射程序集,他就可以轻松地窃取您的加密 key 并自行解密。 (这基本上是 Analog Hole )
  2. 没有人关心您的 1337 代码。对不起,那是艰难的爱。没有人认为任何人的代码都像作者一样有趣。

关于c# - 如何防止我的代码被盗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338337/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com