Visual Studio 保护已发布的项目输出dll和视图

roejwanj  于 2023-02-16  发布在  其他
关注(0)|答案(3)|浏览(151)

如何加密发布dll和ViewFiles以拒绝最终用户将输出文件转换为源文件

bsxbgnwa

bsxbgnwa1#

使用上面提到的混淆。你也应该预编译网站或者把你的视图作为资源嵌入到DLL中。更多信息请参见ASP NET MVC Embedded Resource Views

ecr0jaav

ecr0jaav2#

为了保护dll,你可以obfuscate它们。Obfuscation是重命名程序集中的元数据的过程,这样它对黑客不再有用,但对机器执行预期的操作仍然可用。它不修改实际的指令或屏蔽它们使黑客无法观察到。这里是obfuscators for .NET的列表,请参阅.NET obfuscation tools/strategy

fnatzsnv

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也需要被模糊处理,那么在合并阶段之前需要额外的模糊处理步骤。

相关问题