经过多年的发展,先发制人已经可以处理所有不同类型的应用程序和场景。合理的默认设置旨在使任何项目启动和运行,并且从那里我们可以完全控制保护设置。自定义规则是创建简单、健壮、灵活配置的一种方法——即使是非常复杂的应用程序也是如此。
在之前的“支持角”文章中,我们了解了在混淆后需要Rename排除才能正常运行的编码技术。有时,只排除一个类、方法、字段或属性就足够了。但是对于更大、更复杂的应用程序,情况通常不是这样。自定义规则可以帮助将这些排除因素组织到模式中,以实现更灵活、更健壮的配置。可以创建规则来排除父类的所有子类或实现特定接口的子类。可以为使用自定义属性装饰的类型或成员或具有特定访问修饰符的类型或成员创建规则。正则表达式还可以用于根据命名约定制定自定义规则。
考虑下面的例子。
在“保护使用MVVM模式的.net应用程序”中,我们了解到MVVM使用反射来加载模型类的属性:

因此,我们必须从Rename混淆中排除这些属性,以避免运行时错误:

我可以将其转换为自定义规则,而不是为每个属性检查单个复选框。每个带有OnPropertyChanged方法的模型类都必须实现INotifyPropertyChanged。基于此,我将编写一条规则来排除实现INotifyPropertChanged的任何类型(.*)的属性(.*):

通过此修改,我们可以更改或扩展MVVM模式的使用,而无需更新混淆规则。我还将应用其他混淆转换字符串加密、控制流、链接和篡改防御来保护这部分代码。
审核编辑:刘清
-
字符串
+关注
关注
1文章
596浏览量
23212 -
控制流
+关注
关注
0文章
9浏览量
8741 -
mvvm模式
+关注
关注
0文章
2浏览量
1360
原文标题:Preemptive:如何在Dotfuscato中利用自定义规则
文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
MCUXpresso SDK创建自定义清单
02. 如何在 Allegro 中快速自定义字体?| 芯巧Allegro PCB 设计小诀窍
极海APM32F427如何实现自定义USB HID设备与PC进行通信
如何为 Vision Five 2 编译自定义 Linux 内核?
如何在TensorFlow Lite Micro中添加自定义操作符(2)
电能质量在线监测装置的自定义监测时段功能与离线监测有什么区别?
电能质量在线监测装置可自定义监测时段吗?
无图形界面模式下自定义检查工具的应用
采用汇编指示符来使用自定义指令
如何在e203 SOC中添加自定义外设
LOTO示波器自定义解码功能—CANFD解码
KiCad 中的自定义规则(KiCon 演讲)
如何在Dotfuscato中利用自定义规则呢?
评论