Dotfuscator メニュー

AG-TECH CORPAG-TECH CORP

ENGLISH

Dotfuscator for .NET

.NET Core/Xamarin などの最新プラットフォームに完全対応
最先端を行く .NETプラットフォーム向け難読化ツール

Dotfuscator for .NET が選ばれている理由

1Dotfuscator for .NET の強味抜群の速度

  • 複雑な開発環境やビルド環境をサポートしながら、すべての .NET アプリケーション(モバイル、サーバー、デスクトップ)を保護し、強化します。
  • Visual Studio とのシームレスな統合、Xamarin と Universal Apps のサポートを提供します。
  • 難読化は、アプリケーション全体の再配布なしに、パッチのみでもリリースさせることができます。
  • クロスアセンブリの難読化は、バージョンアップと技術サポートを通じて、名前変更やその他の高度な保護機能を拡張していきます。
  • ビルトインの「スマート」難読化機能により、XAML、BAML、XAP、モバイルおよび ClickOnce に最適化されたサポートが提供されます。

2.NET に難読化が必要な理由高い汎用性

  • 当社の .NET コード保護機能は、Visual Studio の一部として、Microsoft のリグレッションテスト(回帰テスト)、セキュリティ監査、コードレビュー、クオリティゲートの対象となります。
  • 1,000,000 を超えるインストールベースでは、ほぼすべての問題が特定され、診断され、対処されていると確信できております。
  • 過去 20年以上にわたる実績があります。
  • 2003 年以来、Dotfuscator Community Edition (簡易版)は、MicrosoftのVisual Studio に同梱されています。

3サポートとアップデート高い汎用性

  • Dotfuscator for .NET は、悪意のあるツールよりも先に進歩するように継続的に開発・改良されています。
  • 当社の製品は、お客様の開発にフォーカスしており、お客様のフィードバックに基づき継続的に改善しています。
  • 経験豊かな専任のサポートチームがお客様のお手伝いをいたします。

.NET アプリケーションの保護について

Dotfuscator for .NET は .NET の難読化とセキュリティのツールです。
これはエンタープライズクラスのアプリ保護を提供し、著作権侵害、知的財産の盗難、改ざんのリスクを大幅に軽減します。
階層化された難読化、暗号化、透かし入れ、自動の有効期限管理、デバッグ検出、改ざん防止、アラートおよび防御技術は、
世界中の数十万のアプリケーションを保護しております。

1.NET アプリケーションを逆コンパイルするのは簡単?抜群の速度

すべての .NET アプリケーションとライブラリは、Microsoft Intermediate Language (MSIL)にコンパイルされています。MSIL は、構造とクラス、フィールド、メソッド、プロパティ、およびパラメータ名など、コードに関する高度な情報を保持しています。無料の逆コンパイラを使用すると、ソースコードを復元するのは非常に簡単です。難読化と関連技術により、ハッカーやあなたの競合他社が、あなたのアプリケーションをリバースエンジニアリングすることを、はるかに困難にさせます。

2実証された実績高い汎用性

リバースエンジニアリングが難しい .NET アプリケーションを作成することで、知的財産(企業秘密)の盗難、ライセンスや認証チェックを無効にして不正使用されること、あるいは脆弱性の調査などのリスクを防ぐお手伝いをいたします。

.NET や Java(マネージコード)開発で生じるリスクから、なぜ「アプリケーション」を保護しなければならないかを「5つの考慮点」でセキュリティやリスク管理など様々な視点でご紹介しております。
詳しくはこちら

3難読化とコード保護はどのように機能しますか?高い汎用性

お互いを補完するさまざまな技術を使用して、階層的なディフェンスを形成し、リバースエンジニアリング、改ざん、デバッグ行為をはるかに難しくします。
一例ですが、名前変更、文字列暗号化など様々な技法があります。各機能については、こちらをご覧ください。

以下に示したのは、文字列の暗号化を実施した際の違いです。

ハッカーがデータを盗み出したり、アプリを不正コピーしたり、大規模な犯罪の一環としてクリティカルなソフトウェアの動作を変更しようとしている場合、デバッガ製品はハッカーの強力な武器です。あなたはそれを簡単に使わせるべきではありません。

「注目」 .NET 難読化の簡単なデモとリバースエンジニアリングへの影響について、6分間のビデオ(英語)でご紹介しております。.NET コードをリバースエンジニアリングすることが簡単で、Dotfuscator for .NET による保護を実証しています。

機能概要

.NET アプリケーションの難読化と堅牢化のための機能概要

アプリの堅牢化には、難読化とアプリケーションの自己保護機能が含まれています。
階層化された難読化機能があなたのアプリケーションを保護いたします。詳細は以下の各セクションを参照ください。

名前変更

難読化により名前を変更すると、メソッドや変数などの名前が変更され、ソースコードの理解が難しくなります。Dotfuscator for .NET は、PreEmptive Solutions 社によって開発され特許を取得した、オーバーロード誘導(Overload Induction™)と呼ばれるより強力な難読化技術を使用します。オーバーロード誘導は、名前ごとに1つの新しい名前を使用するのではなく、できるだけ多くのメソッドの名前を同じ名前に変更します。この強力な難読化の後、ロジックは破壊されないが、理解できなくなります。以下の簡単な例は、オーバーロード誘導技術の効果を示しています。

制御フローの難読化

従来の制御フロー難読化では、逆コンパイラを混乱させたり停止させるために、条件文や誤解を招くような誤った構文が挿入されていました。このプロセスは、正しく実行可能なロジックを生成する分岐、条件付分岐および繰り返し構文を合成しますが、逆コンパイルが試行されるときに決定できない結果をもたらします。制御フローの難読化は、人間が分析するのに非常に難しいスパゲティロジックを生成します。
Dotfuscator for .NET は、従来よりもさらに高度な制御フロー難読化技術を採用しております。Dotfuscator for .NET は、コードを追加するだけでなく、逆コンパイラがソースコードを復元するために使用するコードパターンを破棄させることによって機能します。最終的な結果は、元のコードと意味的には同じですが、元のコードが記述された内容の手掛かりは含まれていません。高度な逆コンパイラが開発されても、その出力は推測になります。

文字列暗号化

Dotfuscator for .NET を使用すると、アセンブリに含まれるユーザーの文字列を非表示にすることができます。一般的な攻撃者のテクニックは、バイナリ内の文字列を検索して重要なコードセクションを特定することです。例えば、アプリケーションがセキュリティでロックがかかった場合、タイムアウトしてメッセージが表示されることがあります。攻撃者は、逆アセンブルまたは逆コンパイルされた出力の中でこのメッセージを検索し、見つけたときに、あなたのセキュリティアルゴリズムに非常に近いでしょう。

Dotfuscator for .NET は、アプリケーションのこれらの重要な部分の文字列を暗号化し、攻撃から防御します。文字列の暗号化には、復号にわずかな処理(時間)が発生するため、指定した部分を除いて文字列の暗号化は実行されません。

ウォーターマーク

ウォーターマーク(電子透かし)は、著作権情報や固有の識別番号などのデータを実行時の動作に影響を与えずに .NET アプリケーションに埋め込むことにより、ソフトウェアの不正コピーをつきとめるのに役立ちます。Dotfuscator for .NET のウォーターマークアルゴリズムは、アプリケーションのサイズを増やすことも、アプリケーションに影響を与える余分なメタデータが生成されることもありません。詳細はこちら

不要コードの除去

小規模なアプリケーションは、ダウンロード速度、インストール速度、読み込み速度、実行速度が速くなります。Dotfuscator for .NET のプルーニング機能は、コードを静的に解析して、未使用の型、メソッド、およびフィールドを見つけ出し、それらを削除します。また、Dotfuscator for .NET は、MSIL ファイルを処理する際にデバッグ情報と重要でないメタデータを削除し、アプリケーションを小さくし、攻撃者が利用できるデータを減らします。

アセンブリのリンク

Dotfuscator for .NET は、複数の入力アセンブリを1つまたは複数の出力アセンブリにリンクできます。アセンブリリンクを使用すると、特に名前変更とプルーニングで使用するアプリケーションをさらに小さくすることができ、展開されるリンクシナリオを簡素化できます。

例えば、アセンブリ A、B、C、D、E を入力した場合は、アセンブリ A、B、C をリンクして名前Fのアセンブリを出力します。また同時に、D と E をリンクして、名前 G のアセンブリを出力します。唯一の制限は、同じ入力アセンブリを複数の出力アセンブリにリンクすることができないことです。詳細はこちら

改ざん検出と防御

Dotfuscator for .NET は、アプリケーションの整合性を検証するコードを挿入します。実行時に改ざんが検出された場合、アプリケーションをシャットダウンしたり、ランダム的にクラッシュさせたり(クラッシュが改ざんチェックの結果であることを隠すため)、またはその他のユーザー定義したコードの実行が可能です。データ解析サービスを使用しているお客様は、改ざんが検出されたことを示すメッセージをこれらサービスに送信することもできます。

デバッガ検出と防御

PreEmptive Solutions 社は、Application Insights、HockeyApp、Microsoft TFS、Google Analytics、Twitter、New Relic、およびその他の主要な解析サービスに、ほぼリアルタイムのアラートおよびアナリティクスを直接提供しながら、アプリケーションとそのデータを保護する強力なデバッガ検出ソリューションを提供します。

Shelf Life(アプリケーション実行管理)

Shelf Life は、アプリケーションの在庫管理機能であり、期限切れ、または非アクティブ化、および通知ロジックをアプリケーションに組み込むことができます。Dotfuscator for .NET は、アプリケーションを終了したり、PreEmptive Analytics Service メッセージを送信することによって、アプリケーションの有効期限により動作するコードを挿入します。この機能は、ベータ版や評価版アプリケーションで有用です。ユーザーは、特定の日付のアプリケーションの有効期限/非アクティブ化をスケジュールできます。また、オプションで、特定の日数内にアプリケーションが期限切れ/期限切れになることをユーザーに警告することもできます。

例外監視と使用分析

PreEmptive Analytics Service を使用すると、ユーザーによる実際の使用状況のフィードバックやインシデントレポートを得ることが可能になります。Dotfuscator for .NET は、ソースコードを変更することなく、アプリケーションに使用状況レポートと例外監視機能を追加するために必要なツールを提供しております。

難読化されたコードのデバッグ

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

エディション比較

Dotfuscator for .NET には、以下のエディションがあります。

Dotfuscator Community Edition (CE)

Microsoft Visual Studio に無償で同梱される機能限定版。
(弊社からの販売およびサポートの提供はいたしません)

Dotfuscator Professional Edition (PE)

商用アプリケーションおよび企業向けアプリケーションの開発に対応するフル機能版。

次の表は、Dotfuscator for .NET 製品を機能別に比較したものです。

★ Professional Edition(製品版)には、CE(バンドル版)ではサポートされていない機能が数多くあります。
各機能の概要については、あわせてこちらもご覧ください。

機能 Community Edition
(CE)
Professional Edition
(PE)
利用条件
個人利用
商用利用  
難読化
複数アセンブリにまたがる名前変更
名前の変更規則
Silverlight XAML の名前変更
WPF BAML の名前変更
名前の変更プレフィックス  
拡張オーバーロード誘導による名前変更  
増分難読化  
HTML 形式の名前の変更レポート  
制御フロー  
文字列の暗号化  
ユーザーインターフェイス
スタンドアロン UI
Visual Studio との統合  
コマンド ライン  
MSBuild との統合  
サポートされているアプリケーションの種類
WinRT  
Windows Phone 8  
Windows Phone 7
Office アプリケーション  
SQL CLR アプリケーション
統合された ClickOnce  
Silverlight XAP
WPF
ワイルドカードで指定されたディレクトリ
ジェネリック型およびジェネリック メソッド   ※1
Managed C++ (混在モード)アセンブリ     ※2
サテライト アセンブリ  
ビルド / パッケージ
厳密な名前付きアセンブリの再署名  
Authenticode 署名  
ビルド前およびビルド後イベントのサポート  
ユーザー定義可能な従属アセンブリ検索パス  
ディレクトリワイルドカード
Appx ラウンドトリップ  
XAP ラウンドトリップ  
デバッグサポート
PDB ラウンドトリップ  
スタック トレースの変換  
配置の最適化
アセンブリのリンク  
HTML / XML 形式の除去レポート  
不要コードの除去  
定数の除去  
高度なアプリケーション保護
改ざん検出(既定の動作)
改ざん通知  
改ざん検出(カスタム動作)  
デバッグ チェック機能  
ウォーターマーク  
アプリケーション ライフサイクル管理
埋め込まれた Shelf Life トークン
期間満了時の既定の動作
期間満了時のカスタム動作  
カスタム Shelf Life トークン ソース  
PreEmptive Analytics サポート(注)
カスタム エンドポイント
製品版 RIS エンドポイント
コミュニティ ポータル エンドポイント
Opt-in/Opt-out サポート
アプリケーションの追跡
SSL メッセージ  
拡張キー(カスタム データ ペイロード)  
PII の送信  
カスタム インスタンス ID(アプリケーション シリアル番号)の送信  
PreEmptive Analytics メッセージの種類(注)
機能時間  
機能維持時間  
パフォーマンス プローブ  
システム プロファイル  


(注)PreEmptive Analytics に関するサービスは、現在、国内ではお取扱いしておりません。
※1:Visual Studio 2012 以降のみ
※2:名前の変更のみ

システム要件

動作環境

  • Microsoft .NET Framework 4.5.2 以上の開発環境
  • VisualStudio 2010~2019


開発対象

  • UWP, WinRT, WP7, WP8, .NET 1.0以上, Compact Framework 2.x,
    ASP. NET, Silverlight 2.0 and up (XAML), WPF (BAML), XNA, SQL, CLR, ClickOnce, XAP

※ 本製品は初回起動時にインターネット接続を介してライセンス認証を行います。インストール対象となる PC から HTTP によるインターネットアクセスが可能であることをご確認ください。

Contactお問い合わせ

お気軽にお問い合わせください。

お問い合わせ

    必須会社名

    個人のお客様は「個人」と入力してください。

    必須お名前
    必須メールアドレス
    必須メールアドレス(確認)
    必須ライセンス ありなし
    ダウンロード目的