gpt4 book ai didi

security - 数据绑定(bind)和代码混淆

转载 作者:行者123 更新时间:2023-12-04 12:43:32 26 4
gpt4 key购买 nike

我的雇主在我们所有的 .Net 生产软件上都使用 Dotfuscator。因此,我们绝对禁止使用任何内置数据绑定(bind)或任何反射(reflect)属性/函数名称的内容 - 因为 dotfuscator 会更改它们,因此任何绑定(bind)都会立即且不可挽回地中断。

我一直在脑海中翻阅这个逻辑,它开始受到伤害。有必须作为避免这种僵局的一种方式,这是一个范围太广和根本性的问题,以至于我们没有一个明显的解决方案。

那么,如何使用混淆进行反射呢?有什么诀窍?据推测,必须有足够聪明的商业混淆器来解决这个问题。我们的版本有哪些选项?

最佳答案

我们对 Dotfuscator 进行了许多改进,这将有助于缓解与数据绑定(bind)相关的问题。 2008 年 3 月在 4.3.100 版本中添加了智能混淆功能,以静态分析程序集并自动排除重命名/删除已知会导致运行时错误的项目。我们一直在扩展和增强此功能,今天的 Dotfuscator 围绕标准数据绑定(bind)场景工作,通常不需要或最少的额外配置。

即使 Smart Obfuscation 无法捕捉到您的每一个场景,通过使用自定义排除规则(包括通过 RegEx 模式匹配类型)来定义自定义规则以排除某些类型或继承层次结构的属性也很容易。您还可以使用 System.Reflection.ObfuscationAttribute 来装饰元素。属性以确保在通过 Dotfuscator 运行时将它们排除在重命名或删除之外。

如果您从 XAML 标记绑定(bind)到代码隐藏中的类型,最近几个版本支持重命名 XAML/BAML 以匹配后面的代码。当标记中的符号与代码定义不匹配时,这提高了整体硬化并消除了整个范围的问题。

我建议使用类似于您希望在应用程序中使用的数据绑定(bind)来构建一些简单的概念验证应用程序,并通过 Dotfuscator 运行这些应用程序,看看它处理它们的效果如何。如果您发现智能混淆不会自动排除数据绑定(bind)目标的任何场景,请将它们发送到 support@preemptive.com。我们一直在寻找定义明确的场景来改进产品。

关于security - 数据绑定(bind)和代码混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com