TransformXaml は、マークアップ ファイルを解析して名前を変更する要素を識別し、対応する参照を更新します。
サポートされるマークアップ形式
この機能は、次のバイナリ形式およびテキストベース形式をサポートしています。
| 形式 | 説明 |
| XBF | UWP および Windows 8.x アプリケーションで一般的に使用されるバイナリ形式。 |
| BAML | バイナリとしてエンコードされた XAML ファイル。通常は WPF で使用されます。 |
| XAML | UI の標準マークアップ言語。 |
例:WPF アプリケーションの難読化
Button UI 要素が、WPF データ バインドを介して TextBox を変更する単純な WPF アプリケーション WpfSampleApp について考えましょう。ソリューション構造には、MainWindow.xaml と App.xaml が含まれています。
MainWindow.xaml 内では、Grid コンテナが TextBox と Button という子要素を保持しています。識別のために、3 つの要素すべてが x:Name 属性を使用しています。
-
Grid:
testWpfGrid -
TextBox:
txtWpfTextBox -
Button:
btnWpfButton
アセンブリ(.dll)を難読化すると、Dotfuscator はこれらの識別子名を更新します。Map.xml ファイルを見直して、元の名前と新しい識別子名の割り当てを確認します。
難読化されたアセンブリを ILSpy 逆コンパイラで開くことにより、更新された参照を表示することもできます。
ILSpy で Field Metadata テーブルを調べて、変更された TextBox 名を確認します。
ライブラリモードを無効にした後、ILSpy を使用して、難読化されたアセンブリ内の更新されたクラス名を表示します。