是否有工具或一些通用的方法将ASP.NET应用程序的所有文件打包成二进制形式,以防止在部署后进行修改?我想有一组签名的二进制文件和一个配置文件,用于我们允许客户修改的设置。有没有人尝试过,甚至有可能吗?

我会为一个光滑的商业产品支付合理的金额,这样做的麻烦很少。

<强>更新

对不起,从答案我可以看出我不清楚。我的意思是直接打包所有文件,而不仅仅是代码文件。这意味着aspx,脚本,图像等。我不是要阻止逆向工程......这是一个可支持性问题,即避免处理客户弄乱文件所带来的问题。

没有正确的解决方案

其他提示

如果您创建了一个Web应用程序项目,那么您可以将代码编译为单个dll文件。您可以在bin文件夹中找到它。

只需使用aspnet_compiler.exe预先修复所有内容,然后使用aspnet_merge.exe将所有已编译的程序集汇总到一个程序集中。如果您想使反向工程更加困难,可以使用像DotFuscator这样的混淆工具。 Visual Studio pro及以上版本包括“精简版”。您可以使用Dotfuscator版本。

您的代码隐藏文件将在ZippyV已经提到的单个dll中编译。 aspx文件将在Web服务器上正常部署。

但是,你的dll文件可以很容易地被反汇编。所以要确保你必须使用混淆器。

如果你的意思是包括aspx在内的所有文件,你也可以考虑使用ngen。它将所有内容预编译为dll,因此您甚至无法访问aspx页面。

虽然,ngen旨在摆脱框架的JIT编译功能,但绝对不是一般推荐的方法,但它可能适用于您的情况。

从VS2008中选择菜单选项“工具”。然后是“Dotfuscator Community Edition”。您将拥有“了解详情”启动后链接。

我还使用SN.exe签名,以使其具有强名称。考虑到所有这些,我认为如果给你源代码并提供帮助就很难弄清楚系统......所以我不再担心它了。

也许 Dotfuscator 您的客户将无法对其进行修改或对其进行反向工程:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top