0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Dotfuscato中利用自定義規(guī)則呢?

哲想軟件 ? 來源:哲想軟件 ? 2023-08-22 09:24 ? 次閱讀

經(jīng)過多年的發(fā)展,先發(fā)制人已經(jīng)可以處理所有不同類型的應(yīng)用程序和場景。合理的默認設(shè)置旨在使任何項目啟動和運行,并且從那里我們可以完全控制保護設(shè)置。自定義規(guī)則是創(chuàng)建簡單、健壯、靈活配置的一種方法——即使是非常復(fù)雜的應(yīng)用程序也是如此。

在之前的“支持角”文章中,我們了解了在混淆后需要Rename排除才能正常運行的編碼技術(shù)。有時,只排除一個類、方法、字段或?qū)傩跃妥銐蛄恕5菍τ诟?、更?fù)雜的應(yīng)用程序,情況通常不是這樣。自定義規(guī)則可以幫助將這些排除因素組織到模式中,以實現(xiàn)更靈活、更健壯的配置??梢詣?chuàng)建規(guī)則來排除父類的所有子類或?qū)崿F(xiàn)特定接口的子類??梢詾槭褂米远x屬性裝飾的類型或成員或具有特定訪問修飾符的類型或成員創(chuàng)建規(guī)則。正則表達式還可以用于根據(jù)命名約定制定自定義規(guī)則。

考慮下面的例子。

在“保護使用MVVM模式的.net應(yīng)用程序”中,我們了解到MVVM使用反射來加載模型類的屬性:

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

因此,我們必須從Rename混淆中排除這些屬性,以避免運行時錯誤:

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

我可以將其轉(zhuǎn)換為自定義規(guī)則,而不是為每個屬性檢查單個復(fù)選框。每個帶有OnPropertyChanged方法的模型類都必須實現(xiàn)INotifyPropertyChanged?;诖耍覍⒕帉懸粭l規(guī)則來排除實現(xiàn)INotifyPropertChanged的任何類型(.*)的屬性(.*):

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

通過此修改,我們可以更改或擴展MVVM模式的使用,而無需更新混淆規(guī)則。我還將應(yīng)用其他混淆轉(zhuǎn)換字符串加密、控制流、鏈接和篡改防御來保護這部分代碼。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20549
  • 控制流
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    8514
  • mvvm模式
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1285

原文標題:Preemptive:如何在Dotfuscato中利用自定義規(guī)則

文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL)

    電子發(fā)燒友網(wǎng)站提供《創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL).pdf》資料免費下載
    發(fā)表于 09-19 10:50 ?0次下載
    創(chuàng)建<b class='flag-5'>自定義</b>的基于閃存的引導(dǎo)加載程序(BSL)

    如何創(chuàng)建TestStand自定義步驟

    在之前的課程簡單地介紹過TestStand自帶的一些步驟類型,如測試、消息彈窗、賦值、標簽等等,這些簡單的步驟從TestStand的插入選版中就可以添加到序列。那么在使用如果碰到需要實現(xiàn)更加靈活、復(fù)雜的功能,使用自帶的一些
    的頭像 發(fā)表于 09-11 14:46 ?1155次閱讀
    如何創(chuàng)建TestStand<b class='flag-5'>自定義</b>步驟

    請問multisim怎么自定義元器件?

    為什么我在multisim自定義元器件始終出不了想要的波形效果?同一個pspice模型我同學(xué)之前都定義正確了,現(xiàn)在我想再來試一下結(jié)果一直失敗
    發(fā)表于 09-10 06:16

    EtherCAT運動控制器PT/PVT實現(xiàn)用戶自定義軌跡規(guī)劃

    EtherCAT運動控制器PT/PVT實現(xiàn)用戶自定義軌跡規(guī)劃。
    的頭像 發(fā)表于 08-15 11:49 ?656次閱讀
    EtherCAT運動控制器PT/PVT實現(xiàn)用戶<b class='flag-5'>自定義</b>軌跡規(guī)劃

    NVIDIA NeMo加速并簡化自定義模型開發(fā)

    如果企業(yè)希望充分發(fā)揮出 AI 的力量,就需要根據(jù)其行業(yè)需求量身定制的自定義模型。
    的頭像 發(fā)表于 07-26 11:17 ?770次閱讀
    NVIDIA NeMo加速并簡化<b class='flag-5'>自定義</b>模型開發(fā)

    何在IDF框架中使用自定義的靜態(tài)庫和動態(tài)庫?

    基于商業(yè)需要,我們需要在 ESP-IDF v4.0-rc 這個版本的IDF開發(fā)與使用自定義庫,有如下問題請協(xié)助: 1如何利用IDF框架編寫自定義靜態(tài)庫和動態(tài)庫? 2如
    發(fā)表于 06-25 07:57

    Chrome移動版支持自定義菜單欄功能

    在先前版本,用戶通過點擊瀏覽器右上角的三個點按鈕即可調(diào)出包含各類圖標與操作的菜單。而此次更新后,Chrome新增了“自定義菜單”選項,允許用戶自主控制該區(qū)域的展示內(nèi)容。
    的頭像 發(fā)表于 05-27 15:00 ?834次閱讀

    stm32cubemx如何自定義lwip平臺?

    有人知道stm32cubemx,如何自定義lwip平臺。(默認只
    發(fā)表于 05-22 07:50

    HarmonyOS開發(fā)案例:【 自定義彈窗】

    基于ArkTS的聲明式開發(fā)范式實現(xiàn)了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現(xiàn)自定義彈窗
    的頭像 發(fā)表于 05-16 18:18 ?1387次閱讀
    HarmonyOS開發(fā)案例:【 <b class='flag-5'>自定義</b>彈窗】

    TSMaster 自定義 LIN 調(diào)度表編程指導(dǎo)

    LIN(LocalInterconnectNetwork)協(xié)議調(diào)度表是用于LIN總線通信中的消息調(diào)度的一種機制,我們收到越來越多來自不同用戶希望能夠通過接口實現(xiàn)自定義LIN調(diào)度表的需求。所以在
    的頭像 發(fā)表于 05-11 08:21 ?694次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調(diào)度表編程指導(dǎo)

    HarmonyOS開發(fā)案例:【UIAbility和自定義組件生命周期】

    本文檔主要描述了應(yīng)用運行過程UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發(fā)表于 05-10 15:31 ?1270次閱讀
    HarmonyOS開發(fā)案例:【UIAbility和<b class='flag-5'>自定義</b>組件生命周期】

    微軟Dev Home應(yīng)用提供自定義文件管理支持

    據(jù)悉,Microsoft 近期發(fā)布了 0.13 版 Dev Home 應(yīng)用程序,除修復(fù)多項 BUG 外,還新增了自定義文件資源管理器功能。該應(yīng)用支持用戶在應(yīng)用內(nèi)創(chuàng)建虛擬機,利用微軟旗下的 Hyper V 技術(shù)生成本地虛擬機。
    的頭像 發(fā)表于 04-26 11:15 ?481次閱讀

    LabVIEW里Ring自定義控件,其常量無法保持同步修改,如何解決

    時,其常量無法跟隨變換。 如圖所示,自定義常量可以修改成不同的映射關(guān)系,同樣都是“CSP”這個名稱,可以對應(yīng)2或者8。 如果通過創(chuàng)建輸入控件的方式,則“CSP”這個名稱一定對應(yīng)的是自定義控件約定的8
    發(fā)表于 04-24 11:20

    HarmonyOS開發(fā)實例:【自定義Emitter】

    使用[Emitter]實現(xiàn)事件的訂閱和發(fā)布,使用[自定義彈窗]設(shè)置廣告信息。
    的頭像 發(fā)表于 04-14 11:37 ?1016次閱讀
    HarmonyOS開發(fā)實例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發(fā)框架自帶系統(tǒng)組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節(jié)筆者簡單介紹一下自定義組件的語法規(guī)范。
    的頭像 發(fā)表于 04-08 10:17 ?656次閱讀