【问题标题】:How to encrypt my programs source code?如何加密我的程序源代码?
【发布时间】:2017-12-14 17:03:08
【问题描述】:

当我使用反编译程序(例如使用ILSpy for C#)时,我看到源代码像A.cs,AA这样的源名称一样被加密的最长时间。 cs,AB.cs 等... 而且在它们内部,方法、变量、常量,甚至类也被加密为相同的 AA,ABC,IJ..

我在 Java 和 C# 代码中看到了这一点。程序员是用这种加密风格编写的,还是以后使用加密器?他们是怎么做到的?

【问题讨论】:

标签: java c# encryption


【解决方案1】:

那不是加密。

编译代码时,会删除原来的变量名。编译器对它们不感兴趣,只有这些变量所在的内存位置才感兴趣。

所以当你反编译它时,原来的变量名不再可用。反编译器给它一个人类可读的名字——通常是字母和数字的组合。

如果你想保护你的程序不被反编译,那么你可以使用混淆工具——正如@Roman Puchkovskiy 在他们的comment 中所建议的那样。我应该注意该用户的警告,即此类工具只能提供最低限度的逆向工程保护。如果最终用户可以访问可执行文件,他们就有机会对其进行逆向工程,你只能让它变得更难——你永远不能让它变得不可能。

【讨论】:

    猜你喜欢
    • 2013-09-12
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2014-07-24
    • 1970-01-01
    相关资源
    最近更新 更多