【发布时间】:2018-01-13 18:50:33
【问题描述】:
我在 Visual Studio 2017 .net c# 中制作了一个 PC 应用程序并将其编译为 exe。然后我认为我的代码是安全的,没有人可以看到它,因为它是编译的,但是当我在 .net reflector 之类的程序中打开 exe 时,我可以看到源代码。
有什么办法可以防止这种情况发生吗?还是保护我免受反编译??
【问题讨论】:
-
保持安全的唯一方法是执行在线验证并在线存储重要资源。没有真正的方法可以保护离线应用程序。如果计算机知道如何运行它,程序员也会。
-
您的安全要求是什么?你能提供更多细节吗?
-
我的程序需要生成并存储计算机的指纹。如果用户看不到指纹是如何生成的,那就太好了。另外,当我存储指纹时,我首先对其进行了加密,但如果用户只能查看源代码并获取加密密码,这将不起作用。所以我想我会放弃指纹的加密。
-
为什么不在服务端做指纹的计算呢?只需加密所有必要的数据并将其发送到托管在安全环境中的服务器。客户端代码根本不需要知道 - 看起来你的设计有点偏离
-
如果您将它们发送返回,那么客户端程序必须将其存储到某个地方,也许是以加密的方式。您也可以将其存储在服务器上,用户无法访问的地方。在这种情况下,您需要每次将加密的硬件序列发送到服务器,计算并与您存储的内容进行比较。这不是很高效,但更安全。这一切都取决于您的要求
标签: c# .net decompiling decompiler