0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Dotfuscato中利用自定义规则呢?

哲想软件 来源:哲想软件 2023-08-22 09:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经过多年的发展,先发制人已经可以处理所有不同类型的应用程序和场景。合理的默认设置旨在使任何项目启动和运行,并且从那里我们可以完全控制保护设置。自定义规则是创建简单、健壮、灵活配置的一种方法——即使是非常复杂的应用程序也是如此。

在之前的“支持角”文章中,我们了解了在混淆后需要Rename排除才能正常运行的编码技术。有时,只排除一个类、方法、字段或属性就足够了。但是对于更大、更复杂的应用程序,情况通常不是这样。自定义规则可以帮助将这些排除因素组织到模式中,以实现更灵活、更健壮的配置。可以创建规则来排除父类的所有子类或实现特定接口的子类。可以为使用自定义属性装饰的类型或成员或具有特定访问修饰符的类型或成员创建规则。正则表达式还可以用于根据命名约定制定自定义规则。

考虑下面的例子。

在“保护使用MVVM模式的.net应用程序”中,我们了解到MVVM使用反射来加载模型类的属性:

35cc3c84-4080-11ee-ac96-dac502259ad0.png

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

35e6a074-4080-11ee-ac96-dac502259ad0.png

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

3613f542-4080-11ee-ac96-dac502259ad0.png

通过此修改,我们可以更改或扩展MVVM模式的使用,而无需更新混淆规则。我还将应用其他混淆转换字符串加密、控制流、链接和篡改防御来保护这部分代码。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    594

    浏览量

    23040
  • 控制流
    +关注

    关注

    0

    文章

    9

    浏览量

    8714
  • mvvm模式
    +关注

    关注

    0

    文章

    2

    浏览量

    1342

原文标题:Preemptive:如何在Dotfuscato中利用自定义规则

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无图形界面模式下自定义检查工具的应用

    此前文章已介绍 ANSA 自定义检查工具。本文将探讨该功能在无图形界面(No-GUI)模式下的应用,旨在满足标准化工作流程的需求,适用于需要高度自动化的前处理场景。通过集成自定义检查,用户可实现工作流程的高效自动化运行。
    的头像 发表于 11-30 14:13 289次阅读
    无图形界面模式下<b class='flag-5'>自定义</b>检查工具的应用

    何在e203 SOC添加自定义外设

    何在E203 添加自定义的外设,困扰已久,以下是一个从别处借鉴而来的方法: 1、设计好自定义外设的RTL后,在其中添加ICB总线的握手协议和读写寄存器。 2、设计一个对外接
    发表于 10-20 10:38

    大彩讲堂:VisualTFT软件如何自定义圆形进度条

    VisualTFT软件如何自定义圆形进度条
    的头像 发表于 07-07 17:10 1200次阅读
    大彩讲堂:VisualTFT软件如何<b class='flag-5'>自定义</b>圆形进度条

    KiCad 自定义规则(KiCon 演讲)

    “  Seth Hillbrand 在 KiCon US 2025 上为大家介绍了 KiCad 的规则系统,并详细讲解了自定义规则的设计与实例。  ”   演讲主要围绕 加强 KiCad
    的头像 发表于 06-16 11:17 1459次阅读
    KiCad <b class='flag-5'>中</b>的<b class='flag-5'>自定义</b><b class='flag-5'>规则</b>(KiCon 演讲)

    HarmonyOS应用自定义键盘解决方案

    自定义键盘是一种替换系统默认键盘的解决方案,可实现键盘个性化交互。允许用户结合业务需求与操作习惯,对按键布局进行可视化重构、设置多功能组合键位,使输入更加便捷和舒适。在安全防护层面,自定义键盘可以
    的头像 发表于 06-05 14:19 1570次阅读

    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装

    LabVIEW高效加工指令自定义封装
    的头像 发表于 04-08 13:49 3265次阅读
    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令<b class='flag-5'>自定义</b>封装

    MIMXRT1176如何在MBDT中正确实现自定义LUT?

    (peripherals.c peripherals.h),但我注意到它们在编译时被覆盖了。 如何在 MBDT 中正确实现自定义 LUT?此外,有没有办法修改默认 LUT 而不在编译期间重置它?
    发表于 04-08 07:56

    custom.c自定义代码无法自动保存怎么解决?

    我在custom.c插入自定义代码,当我不保存就切换到其他文件时,custom.c自定义代码就会消失。我该如何解决这个问题
    发表于 04-08 06:00

    如何添加自定义单板

    在开发过程,用户有时需要创建自定义板配置。本节将通过一个实例讲解用户如何创建属于自己的machine,下面以g2l-test.conf为例进行说明。
    的头像 发表于 03-12 14:43 1082次阅读

    如何快速创建用户自定义Board和App工程

    可将该文件夹复制到用户自定义的工作目录(workspace),基于此模板进行开发。本模板主要牵涉到的用户自定义的文件有:用户板级文件Board用户应用程序App用
    的头像 发表于 02-08 13:38 998次阅读
    如何快速创建用户<b class='flag-5'>自定义</b>Board和App工程

    KiCad 9 探秘(六):如何用&quot;器件类&quot;玩转多通道设计与自定义DRC规则

    “  老版本的 KiCad 只有网络类(Net Class),但没有器件类(Component Class),在 KiCad 9 器件类终于亮相了。结合规则区域,器件类可以在多通道设计及自定义
    的头像 发表于 02-08 11:14 2555次阅读
    KiCad 9 探秘(六):如何用&quot;器件类&quot;玩转多通道设计与<b class='flag-5'>自定义</b>DRC<b class='flag-5'>规则</b>

    Altium Designer 15.0自定义元件设计

    电子发烧友网站提供《Altium Designer 15.0自定义元件设计.pdf》资料免费下载
    发表于 01-21 15:04 0次下载
    Altium Designer 15.0<b class='flag-5'>自定义</b>元件设计

    think-cell:自定义think-cell(四)

    C.5 设置默认议程幻灯片布局 think-cell 议程可以在演示文稿中使用特定的自定义布局来定义议程、位置和议程幻灯片上的其他形状,例如标题或图片。通过将此自定义布局添加到模板,您可以为整个组织
    的头像 发表于 01-13 10:37 880次阅读
    think-cell:<b class='flag-5'>自定义</b>think-cell(四)

    智能语音识别照明解决方案,平台自定义,中英切换

    智能语音识别照明方案引入NRK3502芯片,支持平台自定义,离线控制,中英双语切换。NRK3502具备高性能和灵活自定义能力,可推动智能照明革新,控制其他智能设备,为国际用户提供全方位智能生活体验。
    的头像 发表于 01-10 13:23 798次阅读
    智能语音识别照明解决方案,平台<b class='flag-5'>自定义</b>,中英切换

    think-cell;自定义think-cell(一)

    本章介绍如何自定义 think-cell,即如何更改默认颜色和其他默认属性;这是通过 think-cell 的样式文件完成的,这些文件将在前四个部分中进行讨论。 第五部分 C.5 设置默认议程幻灯片
    的头像 发表于 01-08 11:31 1240次阅读
    think-cell;<b class='flag-5'>自定义</b>think-cell(一)