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

    文章

    596

    浏览量

    23212
  • 控制流
    +关注

    关注

    0

    文章

    9

    浏览量

    8741
  • mvvm模式
    +关注

    关注

    0

    文章

    2

    浏览量

    1360

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 225次阅读
    使用Python/MyHDL创建<b class='flag-5'>自定义</b>FPGA IP

    MCUXpresso SDK创建自定义清单

    概述 MCUXpresso SDK 24.12 介绍塞德恩汉CED支持自定义清单,使开发人员能够精确定义其工作区包含哪些组件、驱动程序、中间件和板支持包。此功能在极简主义、可重复性和 CI/CD
    发表于 04-07 07:11

    02. 如何在 Allegro 快速自定义字体?| 芯巧Allegro PCB 设计小诀窍

    Allegro PCB设计小诀窍系列--如何在Allegro快速自定义字体背景介绍:在进行PCB设计时,设计人员通常会在PCB上添加各种丝印信息,用来标注元器件的位号、PCB版本信息、绘制时间以及
    发表于 04-03 16:34

    极海APM32F427如何实现自定义USB HID设备与PC进行通信

    最近需要使用到 APM32F427 枚举成Custom HID设备进行用户自定义通信,但是官方的例程只有提供的HID枚举为鼠标或者键盘类型的设备。这里记录一下,怎么使用Geehy官方的USB中间件,实现自定义的USB HID设备进行用户通信。
    的头像 发表于 03-30 09:30 2775次阅读
    极海APM32F427如何实现<b class='flag-5'>自定义</b>USB HID设备与PC进行通信

    如何为 Vision Five 2 编译自定义 Linux 内核?

    Vision Five 2 的 Debian 用户指南只提供了半页关于如何编译自己的内核的相当稀疏的内容。仅从该文档,我无法制作我的自定义内核。那里的信息似乎相当不完整。如果有人能提供一些
    发表于 02-24 07:44

    何在TensorFlow Lite Micro添加自定义操作符(2)

    reshape算子进行说明,如何将reshape算子注册到解析器,接下来介绍如果我们想自定义一个算子需要干些什么。
    的头像 发表于 12-26 10:53 1659次阅读

    电能质量在线监测装置的自定义监测时段功能与离线监测有什么区别?

    的本质区别 自定义监测时段功能 这是 在线监测模式下的精细化策略配置能力 ,核心目标是 按需调整监测的时间范围和采样规则 ,避免无差别全时段监测导致的无效数据冗余。 本质是 “ 在线状态下的监测策略定制 ”,可设定特定时段(如生产高
    的头像 发表于 12-10 14:00 617次阅读
    电能质量在线监测装置的<b class='flag-5'>自定义</b>监测时段功能与离线监测有什么区别?

    电能质量在线监测装置可自定义监测时段吗?

    存储策略及周期性重复规则,满足不同场景下的监测需求。 一、自定义监测时段的核心能力 能力类型 具体说明 典型应用 基础时段设置 设定单次监测的开始时间(精确到秒)、结束时间或持续时长 特定设备投运测试(如新增变频器) 周期性重复 按日
    的头像 发表于 12-10 13:58 463次阅读
    电能质量在线监测装置可<b class='flag-5'>自定义</b>监测时段吗?

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

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

    采用汇编指示符来使用自定义指令

    具体实现 1、采用.word .half .dword等汇编指示符直接插入自定义指令,这种方法需要自己指定寄存器。其中.word为插入一个字的数据即32位,.half为插入半字即16位
    发表于 10-28 06:02

    何在e203 SOC添加自定义外设

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

    LOTO示波器自定义解码功能—CANFD解码

    /?spm_id_from=333.1365.list.card_archive.click 。 视频仅对串口进行解码演示,正好我们从客户手中拿到了一块USB转CAN/CANFD模块,如下图所示, 本文借此对自定义解码功能
    的头像 发表于 07-11 10:34 1204次阅读
    LOTO示波器<b class='flag-5'>自定义</b>解码功能—CANFD解码

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

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

    KiCad 自定义规则(KiCon 演讲)

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

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

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