经过多年的发展,先发制人已经可以处理所有不同类型的应用程序和场景。合理的默认设置旨在使任何项目启动和运行,并且从那里我们可以完全控制保护设置。自定义规则是创建简单、健壮、灵活配置的一种方法——即使是非常复杂的应用程序也是如此。
在之前的“支持角”文章中,我们了解了在混淆后需要rename排除才能正常运行的编码技术。有时,只排除一个类、方法、字段或属性就足够了。但是对于更大、更复杂的应用程序,情况通常不是这样。自定义规则可以帮助将这些排除因素组织到模式中,以实现更灵活、更健壮的配置。可以创建规则来排除父类的所有子类或实现特定接口的子类。可以为使用自定义属性装饰的类型或成员或具有特定访问修饰符的类型或成员创建规则。正则表达式还可以用于根据命名约定制定自定义规则。
考虑下面的例子。
在“保护使用mvvm模式的.net应用程序”中,我们了解到mvvm使用反射来加载模型类的属性:
因此,我们必须从rename混淆中排除这些属性,以避免运行时错误:
我可以将其转换为自定义规则,而不是为每个属性检查单个复选框。每个带有onpropertychanged方法的模型类都必须实现inotifypropertychanged。基于此,我将编写一条规则来排除实现inotifypropertchanged的任何类型(.*)的属性(.*):
通过此修改,我们可以更改或扩展mvvm模式的使用,而无需更新混淆规则。我还将应用其他混淆转换字符串加密、控制流、链接和篡改防御来保护这部分代码。
如果给 AI 一个星期的时间看电视 它都会看些啥?
FOT-L光纤温度传感器在生物医疗领域中的应用与特性研究
成熟制程晶圆代工报价持续下跌 晶圆代工砍单还未停止
中国大陆智能网联汽车产业创新联盟2018年度会议在北京召开
浅谈汽车连接器为提车提供了哪些作用?
如何在Dotfuscato中利用自定义规则呢?
电工基础之单相交流电路
芯生态 | 拓展应用生态建设 近期适配亮点产品速览
来自太空的支持:初创公司密切关注全球天然气管道泄漏情况
硬件工程师对未来发展感到迷茫?不如看看这篇文章
高德红外与国网湖北检修公司推动主网数字化转型”战略合作协议签署仪式
一种简洁、可拓展的RTOS任务初始化设计
iphone13运行内存会更新吗
骨传导耳机是什么?科普骨传导耳机究竟是智商税还是运动佳品
汽车芯片新闻 芯片短缺问题
ABB PLC-AC500控制系统及其在污水处理中的应用
【直播预告】HarmonyOS极客松赋能直播第四期:HarmonyOS开发经验分享
Interfacing to the Fractional
基于制冷剂注入热泵的高效集成热管理系统
“5G+新基建” ELEXCON航母大展9月空港