Dotfuscator クイック スタート ガイド

制御フロー

概要

Dotfuscator は、逆コンパイラがソース コードを再作成するのに使用するコード パターンを変更することによって難読化を行います。結果として生成されるコードは、意味的にはオリジナルのコードと等価ですが、オリジナルのコードがどのように記述されていたかを示す手掛かりは含まれません。

この機能の目的は、MSIL を自動で逆コンパイルして高レベルなソースに戻されることを防止することです。エンド ユーザーは、その後も MSIL 自体を表示することはできますが、それを完全に理解することや、機能面での大きな変更を行うことは困難になります。

例 :

処理前 処理後(名前の変更

制限

制御フローの難読化後にアプリケーションのパフォーマンスをテストすることが重要です。特に、何度も実行されるコード(ゲーム ループ、計算/アルゴリズム集約型メソッドなど)をテストしてください。

制御フローの難読化は、メソッドに十分に多くの基本ブロックが含まれている場合にのみ、効果的に逆コンパイルを妨害できます。要件の中でも特にこれが必要です。

また、入力 IL に基づく決定性が完全ではないため、IL の内容が同じ 2 つのメソッドを処理した場合、難読化後の IL リストが異なる結果(ただし、機能的には同等)になる可能性があります。

対象除外

制御フローの対象除外は、特定の対象除外とカスタム規則のどちらも、名前変更の対象除外と同じ方法で行います。ただし、制御フローの対象除外はメソッドにのみ適用できます。テスト中にパフォーマンスの低下を認めた場合は、計算集約型タスクが行われるあらゆるメソッドとクラスに対象除外を適用してください(基本的には、パフォーマンスを制限する要因が CPU である状況です)。

オプション

"" は、自動逆コンパイルを妨害するために設計された唯一のレベルです。"" では、対象除外を使用しても解決できないパフォーマンスの低下が生じる場合、あるいは、制御フローが実行時エラーの原因であると考えられる場合のデバッグ目的として、"" または "" を使用することができます。

詳細情報

Dotfuscator ユーザーズ ガイド:

Dotfuscator バージョン 4.28.1.5015. Copyright © 2017 PreEmptive Solutions, LLC