我知道这是一个奇怪的请求,但我需要混淆原始的c#源代码。
尽管这不是一个好主意,但是可以通过CSharpCodeProvider在客户端编译c#代码。c#中有没有可以混淆源代码的现有类?或者,有没有第三方库可以这样做?
我考虑过使用Roslyn和手动变量重命名,但我找不到任何关于如何做到这一点的信息。有人知道如何使用Roslyn重命名变量(并加载解决方案)吗?
我尝试过手动语法解析器,但效果不佳。
到目前为止,我所做的是:
删除了所有注释。
删除了所有换行符和空格。
将来自所有不同项目的所有文件放入一个文件夹中,该文件夹具有随机的25个字符的字母数字名称。
在代码行中添加了随机注释。不会阻止任何人,但是读public /*SJKDSJKDJ398sLAjljKKxklw*/int /*SDSDSJCJKIORIO*/ privateServerKey = /*SDKSDKSDFKJSFKJ*/ ...会让我头疼
发布于 2014-07-25 00:17:19
怪异?不是的。有时,人们不得不将可编译的源代码发送给第三方,而不是让第三方能够轻松地理解源代码。我们同意混淆器并不是不可能理解代码,但这不是重点。你的房子前门锁不能阻止任何严重的小偷,但如果你有一所房子,你就没有一个是愚蠢的。
我们的C# Source Code Obfuscator可能会做您想要的事情。
大多数情况下,它所做的就是以一种安全的方式打乱标识符。代码库越大,效率就越高。
它还去除了空格和注释,从而损害了可读性。它不会在不同的目录之间混洗代码文件。
https://stackoverflow.com/questions/24567864
复制相似问题