我在VisualStudio2017 .net c#中制作了一个PC应用程序,并将其编译成了一个exe。然后我认为我的代码是安全的,没有人能看到它,因为它是编译的,但是当我在一个像.net反射器这样的程序中打开exe时,我可以看到源代码。
有什么办法可以阻止吗?还是保护我不被反编译?
发布于 2017-08-06 09:08:51
如果将代码编译为塞塞 (中间语言),则无法防止反编译。在这种情况下,您需要使用混淆
要更深入地讨论这一主题,请查看本文的.NET混淆工具/策略
您可以在这里找到类似的讨论,我怎样才能混淆我的c#代码,这样它就不会那么容易地被混淆了?
您还可以选择使用Ngen.exe为特定平台生成本地映像--这将绕过IL并生成编译后的处理器特定的机器代码,从逆向工程的角度来看,该代码相当安全。
使用IL是一种非常常见的设计选择--它有其缺点和优点--主要是更容易地支持一个平台上的多种语言,以及多个目标平台,即跨平台
要了解使用IL的一些好处,请查看这个stackoverflow.com. some /问询/1926386/…
Java还使用一种中间语言- java字节码- javaworld.com/article/2077233/core-java/bytecode-basics.html。
发布于 2017-08-06 09:11:57
这样做是没有意义的。
虽然你会被“混淆”淹没,但这是对时间的浪费。
https://stackoverflow.com/questions/45530397
复制相似问题