是否有工具或一些通用的方法将ASP.NET应用程序的所有文件打包成二进制形式,以防止在部署后进行修改?我想有一组签名的二进制文件和一个配置文件,用于我们允许客户修改的设置。有没有人尝试过,甚至有可能吗?
我会为一个光滑的商业产品支付合理的金额,这样做的麻烦很少。
更新
对不起,从答案我可以看出我不清楚。我的意思是直接打包所有文件,而不仅仅是代码文件。这意味着aspx,脚本,图像等。我不是要阻止逆向工程......这是一个可支持性问题,即避免处理客户弄乱文件所带来的问题。
答案 0 :(得分:6)
如果您创建了一个Web应用程序项目,那么您可以将代码编译为单个dll文件。您可以在bin文件夹中找到它。
答案 1 :(得分:2)
只需使用aspnet_compiler.exe预先修复所有内容,然后使用aspnet_merge.exe将所有已编译的程序集汇总到一个程序集中。如果您想使反向工程更加困难,可以使用像DotFuscator这样的混淆工具。 Visual Studio pro及以上版本包含了一个可以用于此的“精简版”Dotfuscator。
答案 2 :(得分:1)
您的代码隐藏文件将在ZippyV已经提到的单个dll中编译。 aspx文件将在Web服务器上正常部署。
但是,你的dll文件可以很容易地被反汇编。所以要确保你必须使用混淆器。
答案 3 :(得分:0)
如果你的意思是包括aspx在内的所有文件,你也可以考虑使用ngen。它将所有内容预编译为dll,因此您甚至无法访问aspx页面。
虽然,ngen旨在摆脱框架的JIT编译功能,但绝对不是一般推荐的方法,但它可能适用于您的情况。
答案 4 :(得分:0)
也许Dotfuscator您的客户将无法对其进行修改或对其进行逆向工程:)
答案 5 :(得分:0)
从VS2008中选择菜单选项“工具”,然后选择“Dotfuscator Community Edition”。启动后,您将获得“了解更多”链接。
我还使用SN.exe签名,以使其具有强名称。考虑到所有这些,我认为如果给你源代码并提供帮助就很难弄清楚系统......所以我不再担心它了。