CSharpCodeProvider after Obfuscator



我使用的是一个在运行时编译的脚本系统,它运行得很好,但当我使用一些代码模糊器来隐藏我的代码时;"坏人";脚本停止工作,它返回一个错误:

错误:CS0234

类型或名称空间名称";对象";不存在于命名空间"中;测试程序";(您是否缺少装配参考?)

错误:CS0246

类型或名称空间名称";脚本"找不到(您是否缺少using指令或程序集引用?)

你知道是否有办法解决它吗?我尝试了很多模糊处理程序,看起来所有这些都对我的脚本做了同样的事情。

您很可能不需要混淆"脚本"试图访问的公共类型。

这可以使用大多数更好的模糊处理程序来完成,方法是根据需要在类型或方法上包含适当的属性(ObfuscationAttribute),Exclude属性设置为true[Obfuscation(Exclude=true)]


编辑:

您可以根据需要通过装饰适当的类型来使用此属性,例如:

[Obfuscation(Exclude=true, ApplyToMembers=true)]
public class Objects
{
    // ... 

这将导致大多数模糊处理程序(尽管有些需要配置才能注意此属性)不模糊类型。一些混淆器会混淆内部成员,但不会混淆公共API。这取决于您使用的实际工具,我建议您查看他们的文档以了解详细信息。

相关内容

  • 没有找到相关文章

最新更新