从 asp.net 网络应用程序加密 .dll
Encrypt .dll from asp.net web application
我在想,是否可以加密来自 Web 应用程序 (.dll) 的所有源代码并让应用程序使用这种方法工作?
最近我们公司的服务器遭受了很多攻击,他们可以窃取一些源代码并进行逆向工程。
所以我的问题是这可能吗?
我认为您只是想保护您的代码不在 Web 服务器上可见或者可能在部署后不被 accessing/making 修改?您可能需要查看 .NET Web 应用程序的发布选项。
当您发布网络应用程序时,有一个与应用程序预编译相关的选项。在我附加的屏幕截图中,左边的图片突出显示了发布设置选项 window - “发布期间预编译”。现在,它的作用 - 预编译器从页面生成程序集。即它从您的代码隐藏 生成程序集 (DLL)。此时,您的代码已转换为程序集。您可以通过使用强名称对其进行签名来确保程序集的真实性。
更进一步,您可以检查高级属性并配置您的预编译。您可以取消选中“允许预编译站点可更新”复选框(查看我附上的屏幕截图)。它能做什么? -
"编译 .Aspx 页面,而不仅仅是代码文件 (.VB/.CS)。选中它可以让您在之后对 .Aspx 文件进行某些更改已部署而无需重新编译(例如 = 移动控件的位置或添加一些额外的 HTML 标记)。"
如果您还不知道,希望这对您有所帮助。
我在想,是否可以加密来自 Web 应用程序 (.dll) 的所有源代码并让应用程序使用这种方法工作?
最近我们公司的服务器遭受了很多攻击,他们可以窃取一些源代码并进行逆向工程。
所以我的问题是这可能吗?
我认为您只是想保护您的代码不在 Web 服务器上可见或者可能在部署后不被 accessing/making 修改?您可能需要查看 .NET Web 应用程序的发布选项。
当您发布网络应用程序时,有一个与应用程序预编译相关的选项。在我附加的屏幕截图中,左边的图片突出显示了发布设置选项 window - “发布期间预编译”。现在,它的作用 - 预编译器从页面生成程序集。即它从您的代码隐藏 生成程序集 (DLL)。此时,您的代码已转换为程序集。您可以通过使用强名称对其进行签名来确保程序集的真实性。
更进一步,您可以检查高级属性并配置您的预编译。您可以取消选中“允许预编译站点可更新”复选框(查看我附上的屏幕截图)。它能做什么? -
"编译 .Aspx 页面,而不仅仅是代码文件 (.VB/.CS)。选中它可以让您在之后对 .Aspx 文件进行某些更改已部署而无需重新编译(例如 = 移动控件的位置或添加一些额外的 HTML 标记)。"
如果您还不知道,希望这对您有所帮助。