我在一个编译好的网站上试验了SmartAssembly混淆工具。它可以在大多数代码上工作,但App_Code中的任何类都不会被混淆。例如,我在App_Code中有如下类
public class Helper
{
public Helper()
{
}
public static String GetData()
{
String text = DateTime.Now.ToString();
return text;
}
---Other methods----
}已跳过此Helper类。它不会对Helper类及其方法进行名称损坏。在这方面,任何使用SmartAssembly的人都能提供帮助吗?有没有其他比SmartAssembly更划算的工具(免费或付费)?
发布于 2011-07-30 00:28:39
上为RedGate工作
SA (SmartAssembly)自动将DLL中的公共成员排除在混淆和修剪之外,因为它假定这些公共成员将在外部使用。您可以通过编辑saproj文件来覆盖此行为,使模糊处理行如下所示:
<Obfuscation ExcludePublicMembers="0" Obfuscate="1">这将使所有成员变得模糊,而不管他们的公共身份。
这可能会导致问题,因为IIS可能会使用反射来查找具有特定名称的特定公共成员。在这种情况下,您需要将这些项目排除在剪枝/混淆之外。
至于混淆工具,SmartAssembly是一个相当强大的混淆工具(黑客同意!),并且有很多额外的功能(错误报告,功能使用报告等)。但是,当然,除了SmartAssembly之外,还有一些数字,例如Dotfuscator或Deep of。有些相当不错,有些则非常糟糕。
如果您有更多问题,请联系我们:http://www.red-gate.com/products/dotnet-development/smartassembly/support
发布于 2011-07-30 00:20:30
你可以强制混淆,但是你需要使用代码修饰。更多细节can be found here。
https://stackoverflow.com/questions/6863759
复制相似问题