「スマート難読化」は進行中の取り組みの 1 つで、自動的に既知の API 使用パターンおよびアプリケーションの種類を識別し、難読化規則を適用しようとするものです。
スマート難読化規則は、組み込みの名前の変更対象除外規則にとてもよく似ていますが、単純な正規表現では表せない状況のためにあります。これの最も簡単な例は、Dotfuscator が、enum
メンバーのいずれかで ToString()
が呼び出されたことを確認したときに、そのメンバーを除外するものです。ユーザーが enum
メンバーで ToString()
を呼び出している場合には、その呼び出しに元の名前を持たせたいでしょう。カスタム対象除外規則のメカニズムを使用して、この状況を表現するために考え得る方法はありません。
スマート難読化は 2 つのレポートを生成します。
発生し得る警告が非常に多数あります。そのような警告のほんの一例を以下に示します。
Method Namespace.ContextMenu::void OnApplyTemplate() に FrameworkElementRule フラグ付きのものがあります。理由:System.Windows.FrameworkElement::FindName に指定する可能性のある name 引数を調べて、参照される要素を手動で除外します。
ユーザーは、単に次の指示に従ってください。ContextMenu
クラスを探して、OnApplyTemplate()
メソッドを調べます。そのメソッド内で FindName(string)
を呼び出しているすべての場所を検出し、その文字列が、手動で除外される必要のある入力のプロパティに相当するかどうかを判断します。
Dotfuscator ユーザーズ ガイド:
Dotfuscator バージョン 4.28.1.5015. Copyright © 2017 PreEmptive Solutions, LLC