このページは既にアーカイブ化され、その後の更新はありません。

この製品の販売は終了しました。

Dotfuscator(日本語版)

Dotfuscatorは、難読化、サイズ縮小、ウォーターマーク作成などの機能を備えた、.NET アプリケーション向けの優れたプログラムです。

AG-TECH 社の製品
2003 年より日本国内にてComponentSourceで販売中。

i

PreEmptive社製品取扱いに終了のご案内
2017年10月10日より、Dotfuscator、DashO、PreEmptive Protection for iOS 製品に関して弊社サイトでの取り扱いが終了されます。その以降は株式会社エージーテック直販のみ取扱いになります。製品販売情報の詳細は弊社フリーダイヤル(0120-343-550)又はメール(sales@componentsource.co.jp)までお問い合わせください。

Dotfuscator(日本語版) について

Dotfuscatorは、難読化、サイズ縮小、ウォーターマーク作成などの機能を備えた、.NET アプリケーション向けの優れたプログラムです。

.NET アプリケーションをリバース エンジニアリングから保護しながら、コンパクトで効率的なプログラムにすることができます。Dotfuscator を使用すると、どれほど優れたデコンパイラを使用しても有益な結果を生成することができなくなります。また、.NET コードを包括的かつ効率的に開発および配置することが可能になります。Dotfuscator .NET 難読化プログラム はあらゆる点で侵入的ではなく、ソース コードへの変更を必要としないので、.NET プラットフォームで知的財産を保護するための最も自然な方法になります。

主要機能概要

Silverlight XAMLの難読化
XAML の難読化は XAML リソースの名前変更、Silverlight アセンブリのトリミング(不要部分の排除)と縮小化によるロードタイムやパフォーマンスの最適化、アセンブリの自動再署名を行います。 これにより開発者は知的財産の保護や、改ざんを防止することができます。合理的に自動化されたビルドプロセスの中で、Silverlight XAP ファイルの難読化やインストルメントを充分に行えます。

WPF BAML の難読化
今回、初めて BAML リソースが保護されました。 BAML (バイナリXAML) の難読化では、今まで WPF の開発者が行っていた XAML 内で参照されている名前を排除するという作業に時間を費やす必要はありません。ベンチマークによると従来の難読化による WPF アプリケーションの適用範囲は 25-60% でしたが Dotfuscator の BAML 難読化では同じ WPF アプリケーションの適用範囲は 75-100% に達します。

Shelf Life
ビルド後のインストルメンテーションにより、アプリケーション失効時の動作を自身のアプリケーションに追加することができます。(別途 Shelf Life Activation Key の購入が必要となります。) 本サービスについては、弊社営業部までお問い合わせください。

ClickOnce に対応
ClickOnce の配置マニフェストを単一入力として処理し、更新されたマニフェストおよびアセンブリを出力することができます。

XML シリアル化準拠の名前変更オプション
XML シリアライザと互換性のある方法で型やメンバの名前を変更するように、名前の変更アルゴリズムをグローバルに変更することができます。

宣言による難読化のコマンドラインサポート
[難読化属性の使用] および [難読化属性の除去] のオプションは、コマンドラインから簡単に設定することができます。

改ざん検出および通知
難読化されたアプリケーションの改ざんを自己診断して通知する機能です。アプリケーションの改ざんを検出するためのコードをアプリケーションに追加し、それにより、アプリケーションが改ざんされると、その旨をアプリケーション所有者とその顧客を保護するために通知します。

Runtime Intelligence
アプリケーションがどのように使用されているかを追跡する新しいサービス。アプリケーションの開始・停止時にライフサイクルデータをアプリケーションから集め、ダッシュボードを使って統計情報の閲覧が可能となります。
(利用には別途サービスの購入が必要。英語版のみでの提供)

名前の変更
Dotfuscator には、米国で特許を取得した Overload-Induction™ (オーバーロード誘導)の名前変更 システムが組み込まれています。このシステムは、すべてのクラス、メソッド、およびフィールドの 名前を変更して、1 文字の名前に短縮します。Dotfuscator の名前変更システムは、標準の名前変更 システムよりもさらに優れた、固有の難読化特性も提供します。多くの"難読化による"名前の変更機能 は、逆コンパイルされた出力を妨害するため、印刷できない文字や複雑なシーケンスに名前を変更することに頼っています。このような試みとは異なり、Dotfuscator の名前変更システムは、 コンパクトで元に戻すことができない結果を提供します。

文字列の暗号化
アタッカーは、アプリケーション内の特定の文字列を検索して戦略的なロジックを探し出すことがよくあります。たとえば、登録と検証の処理を迂回しようともくろむ者は、プログラムがユーザーにシリアル番号を要求する文字列を検索することがあります。その文字列を見つけると、その文字列の周辺の命令を探して、ロジックを変更するのです。文字列の暗号化は、検索で文字列が見つからなくすることにより、この作業をより困難にします。元の文字列は、コードのどこにも見つかりません。暗号化されたコードだけが存在します。

制御フローの難読化
この処理は、有効なフォワード (実行可能) ロジックを作り出している分岐処理、条件処理、反復処理などの構成要素を合成し、デコンパイルが試みられたときに、その意味を判断できないコードを生成します。制御フローの難読化によって、アタッカーによる解析が非常に困難な、スパゲッティのように複雑にからみ合うロジックが生成されます。次の例は、Dotfuscator Professional Edition の処理を示しています。 → 画面詳細はこちら。

拡張オーバーロード誘導
Dotfuscator は、メソッドの戻り値の型またはフィールドの型を、メソッドまたはフィールドの一意性を判断するときの条件として使用できるようにすることによって、Overload-Induction™ (オーバーロード誘導) を拡張します。この機能は、メソッドとフィールドの名前の変更時に最大 15% まで、より冗長になることを許容します。さらに、(C#、VB などの) ソース言語では戻り値やフィールドの型でオーバーロードすることは通常は許可されないので、デコンパイルをいっそう困難にします。 → 「オーバーロード誘導」詳細はこちら

不要なコードの除去
小さいアプリケーションほど、インストール、読み込み、および実行速度がより高速になります。Dotfuscator Professional Edition の除去機能は、使用されていないコードを削除します。このマルチパスの反復処理によって、未使用の型、メソッド、およびフィールドが検出され、除去されます。アプリケーションで適切にデザインされた汎用目的のライブラリが使用されていることが明らかな場合、そのアプリケーションは不要なコードの除去を行う対象になります。コンピュータ処理リソースを節約したり、インスタンスの作成回数を減らすことで、驚くほどの領域を削減できます。

アセンブリのリンク
アセンブリのリンク (結合とも呼ばれます) は、複数のアセンブリを 1 つ以上の出力アセンブリに結合する機能です。これによってアプリケーションのサイズをさらに縮小することができ、シナリオの配置が簡単になります。アセンブリのリンクを難読化および不要なコードの除去と組み合わせると、.NET アプリケーションの強力なパッケージ化ソリューションが実現します。 → 詳細はこちら

ウォーターマーク
ウォーターマーク は、ソフトウェアの無許可コピーの出所を追跡する手法の 1 つです。Dotfuscator Professional Edition に PreMark™ を追加すると、.NET アセンブリのウォーターマーク作成機能がサポートされます。ウォーターマークは、著作権情報や一意な ID 番号などのデータを、実行時の動作に影響を与えることなく、.NET アプリケーションに目立たないように埋め込むために使用します。

スマート難読化
自動的に既知の API 使用パターンやアプリケーションの種類を識別して難読化規則を適応します。名前変更や除去などを適応すべきでない場合には、自動的に対象から外します。

増分難読化
増分難読化は統合されたアプリケーション環境を保守する企業の開発チームとって特に関心の高い拡張機能です。難読化の実行時に名前の割り当て記録が生成されるため、以後の難読化においても、難読化された API 名には再び同じ名前が適用され維持されます。アクセスポイントは以前のビルドと同じ名前に変更されるため、部分的なビルドが可能となり、既存のシステムにシームレスにパッチファイルをあてることができます。

難読化されたコードのデバッグ
難読化されたアプリケーションのデバッグ シンボル ファイルを、コンパイラが出力する元のシンボル ファイルに可能な限り一致させて (Microsoft の PDB 形式で) 出力する機能があります。これらのファイルを使用すると、難読化されたアセンブリのデバッガによるステップ スルーや、元のソース コードの確認が可能になります。