如何加密发布dll和ViewFiles以拒绝最终用户将输出文件转换为源文件
bsxbgnwa1#
使用上面提到的混淆。你也应该预编译网站或者把你的视图作为资源嵌入到DLL中。更多信息请参见ASP NET MVC Embedded Resource Views。
ecr0jaav2#
为了保护dll,你可以obfuscate它们。Obfuscation是重命名程序集中的元数据的过程,这样它对黑客不再有用,但对机器执行预期的操作仍然可用。它不修改实际的指令或屏蔽它们使黑客无法观察到。这里是obfuscators for .NET的列表,请参阅.NET obfuscation tools/strategy。
obfuscate
Obfuscation
fnatzsnv3#
对于ASP.NETMVC中的预编译视图,(在混淆之后)要执行的步骤如下(在包含视图的项目文件夹中):
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p "." -c targetFolder -x obj -x bin –f copy pathToObfuscated.dll targetFolder\bin copy bin\System.Web.* targetFolder\bin "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\aspnet_merge.exe" targetFolder -o TopMain -copyattrs obj\x86\Release\AssemblyInfo\AssemblyInfo.dll -keyfile myCertFile.snk –a
文件夹路径和文件名在您的环境中可能会有所不同。要复制的依赖项列表也可能会有所不同。注意这个解决方案不会处理cshtml的模糊处理,只有使用过的Model和Controller可能会被模糊处理。如果cshtml也需要被模糊处理,那么在合并阶段之前需要额外的模糊处理步骤。
3条答案
按热度按时间bsxbgnwa1#
使用上面提到的混淆。你也应该预编译网站或者把你的视图作为资源嵌入到DLL中。更多信息请参见ASP NET MVC Embedded Resource Views。
ecr0jaav2#
为了保护dll,你可以
obfuscate
它们。Obfuscation
是重命名程序集中的元数据的过程,这样它对黑客不再有用,但对机器执行预期的操作仍然可用。它不修改实际的指令或屏蔽它们使黑客无法观察到。这里是obfuscators for .NET的列表,请参阅.NET obfuscation tools/strategy。fnatzsnv3#
对于ASP.NETMVC中的预编译视图,(在混淆之后)要执行的步骤如下(在包含视图的项目文件夹中):
文件夹路径和文件名在您的环境中可能会有所不同。要复制的依赖项列表也可能会有所不同。
注意这个解决方案不会处理cshtml的模糊处理,只有使用过的Model和Controller可能会被模糊处理。如果cshtml也需要被模糊处理,那么在合并阶段之前需要额外的模糊处理步骤。