在Visual Studio中混淆.cs源代码本身

4
我的公司有一个ASP.NET网站(不是Web应用程序)。我们查看的所有工具都只混淆DLL或EXE文件(而不是源代码)。我们需要的是一种工具来混淆源代码本身(.cs);最好在Visual Studio中使用。更改所有内容的名称不是选项。因此,是否有任何源级混淆器?

3
如果您不希望任何人阅读源代码,为什么要分发它? - Oliver Charlesworth
9
为什么你不能预编译网站,然后对其进行混淆处理呢? - Jon Skeet
因为这个网站已经作为一个网站而不是一个Web应用程序完成,所以信息不在.dll文件中,而是在.aspx文件中。我现在无法迁移或更改它,因为它是一个非常庞大的应用程序。所以我正在寻找一种至少可以重命名变量的方法,而不需要手动操作。 - Alejandro Barreiro
部署网站后,你为什么还要关心变量名称呢? - gdoron
因为我想防止对代码的进一步更改。 - Alejandro Barreiro
3
只需预编译已部署的网站,所有*.aspx文件中的文本都会自动转换为*.dll文件。 这就是为什么引入了预编译的原因! - Wiktor Zychla
4个回答

3

请查看我们的C#混淆器工具。该工具可对源文件进行操作。


1
第一步是重构为内联变量和方法(除非它破坏了性能),并将它们重命名为一些随机的无意义的字母和数字。 我建议使用Resharper。
(在这个上下文中,内联指的是作为Resharper重构功能的内联。)

有没有一些应用程序可以自动完成这个过程,而不需要逐个重命名变量? - Alejandro Barreiro
Resharper可以在整个解决方案中重命名单个变量/方法,但如果您想要一个单击过程 - 我不知道有哪个程序可以做到这一点,但编写一个非常简单的程序应该是相当容易的(感谢项目创意)。 - SimpleVar

0
你看过 Visual Studio 2010 自带的 DotFuscator 吗?我不知道需要哪个版本(MSDN 只提供了 Ultimate),但我记得在某个地方读到过 Alvas.Audio 使用它。
关于它是否在Visual Studio 2012中,我还没有检查过,但是当我安装开发工具时,我会安装所有东西(即使我不使用它)。 即使不是这样,您也应该能够使用Visual Studio 2010 Ultimate(试用版可用)安装它,并卸载除DotFuscator之外的所有内容,然后安装Visual Studio 2012。

0

为了锁定应用程序和代码混淆,我使用IntelliLock,虽然不是免费的,但很好用。


我需要混淆一个 .cs 文件而不是 .dll 或 .exe。我需要交付源代码,但希望 C# 文件被混淆。 - Alejandro Barreiro
如果您想将.cs文件发送到某个地方,可以使用密码进行压缩。抱歉如果我理解有误,但我不明白问题所在。 - ddarellis
例如,我想重命名解决方案中的所有变量,但仍然交出 .cs 文件。我希望我的代码非常难以理解,但仍然可以分享给他人。 - Alejandro Barreiro
我不想通过重构或使用resharper手动重命名变量。有没有一种方法可以对源代码进行混淆,但不影响编译后的文件? - Alejandro Barreiro
好的,我现在明白了!看到这个'.NET Reactor'是不免费的。包括对ASP.NET的支持。 - ddarellis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接