お気に入りに追加

Express Obfuscator 1.500

スポンサードリンク

簡単・低コスト・高性能な .NET アセンブリ 難読化ツール

Express Obfuscator
ソフト種類: Shareware
日付追加: 2011-04-22
対応OS: Windows 7,Vista,XP
ファイルサイズ: 8.74MB
ソフト作者: LEAPSPECさん

対応言語

Express Obfuscator 1.500】の開発者説明

Advertisement
 Express Obfuscator は、Microsoft Visual C# や Microsoft Visual Basic 等で作成された .NET アセンブリ (.exe / .dll) 難読化ツールの新機軸です。解りにくい設定を極力省いた手軽さに加え、特殊な名前変換や文字列暗号化による高い非可読性、不正なリバースエンジニアリングやクラッキングを防止する厳重なセキュリティ、さらに難読化による影響を受けない柔軟なリフレクションサポートなどの強力な機能を従来製品に比べ非常に低コストでご利用頂けます。また、一部オプション (高度な難読化) を制限することでライセンスフリーでのご利用も可能です。コンソールアプリケーション、クラスライブラリ、Windows フォームアプリケーション、WPF アプリケーションに対応しています(*1)。
特殊名による名前変換
 Express Obfuscator による難読化は、まず、アセンブリで利用される 名前空間、クラス、構造体、ジェネリック、フィールド、メソッド、および各種パラメータ (引数) 等のトークン名を特殊な名前に変換することで、名前からその処理内容を推測することを不可能にします。変換後のトークン名はコンパイラで正常認識できない特殊な文字列であるため、例え逆コンパイラを用いてソースのエクスポートを行ったとしても、出力ファイルをそのまま利用することはできません。


文字列の暗号化
 ソース上の全ての文字列は、Express Obfuscator の独自の技術により暗号化されます。これにより、文字列から処理部分を特定することや関連する処理の内容を推測することは非常に困難となります。また、厳重なセキュリティ (後述) を適応した場合、不正なリバースエンジニアリング等による情報漏洩リスクが強力に抑えられるため、ログインネームやパスワードといった重要な文字列を、安心してソースコードに組み込むことが可能となります(*2)。


厳重なセキュリティ
 .NET の仕様上、System.Reflection.Assembly.LoadFile() 等のメソッドで動的に読み込まれたアセンブリは internal, private 等のアクセス修飾子の指定や、SecurityCriticalAttribute 等の属性設定に関わらず、リフレクションを利用することで全てのメンバにアクセス可能となります。そのため、重要な文字列等の情報がどんなに複雑に暗号化がされていたとしても、その解読に関連するメンバを直接アクセスすることで簡単に読み出されるリスクが発生します。Express Obfuscator は、独自の認証処理によりアクセスを許可する外部アセンブリを限定し、第三者による不正な情報読み出しやメソッド呼び出しを未然に防ぎます。また、認証や非暗号化等に関連する重要なメカニズムは、コード自体の暗号化 (逆アセンブルされない独自コード化) によって堅牢に保護されています(*2)。


エントリポイントの匿名化
 アプリケーションの起動メソッドとなるエントリポイントは、コード解析を行う上での最初の手がかりとなりやすく処理フローを追う上で重要な意味を持ちます。Express Obfuscator は、ダミーとなるエントリポイントを新たに作成し実際のエントリポイントを隠匿します。実際のエントリポイントは暗号化された文字列を用いたリフレクションにより呼び出されるため、エントリポイントから処理を追うことはできません(*3)。


コード改ざんからの保護
 .NET の仕様の1つであるアセンブリ署名によるコード改ざんチェックは、厳密な名前 (GACにインストールされたアセンブリの呼び出し等に利用されます) の保護という観点では完全であり、厳密な名前の変更なしにコード改ざんを行うことはできません。ただし、単純にコード改ざんからの保護という観点では脆弱であり、公開キーの削除や署名の差し替えにより改ざんしたコードを作成することは容易です。Express Obfuscator によって難読化されたアセンブリは、正当な署名の検証を始めとする様々なコード検証を複合的に行います(*4)。そのため、不正な署名やコード改ざんが施された場合、アセンブリを正常起動することはできません。


逆コンパイルの遮断
 .NET アセンブリの逆コンパイラとして有名な .NET Reflector による逆コンパイル機能は非常に強力です。これは、オープンソースではない .NET 製品の開発者にとっては大変な脅威であり、何らかの対策を講じることは必須と言えるでしょう。Express Obfuscator による難読化は、アセンブリに逆コンパイル不能なコードを追加することで、.NET Reflector のパーサを遮断し、逆コンパイル結果の閲覧およびエクスポートを無効化します(*5)。


リフレクションのサポート
 難読化の基本はトークン名の変換であるため、 System.Reflection.Assembly.GetType(string) 等のメソッドを用いて正規の名前で検索を行っていたリフレクション処理は、難読化後の弊害として失敗します。Express Obfuscator はユーザーが自由に利用できるパブリックソースとして、リフレクションサポートクラス Exob.Public.Reflector を用意しています。このクラスの利用により、トークン名の変換された全メンバに対して正規の名前でのアクセスが可能となり、難読化前後での互換性が完全に保たれます。もちろん、引数として指定された文字列は自動的に暗号化されますので安全です。また、難読化を行った外部アセンブリの全メンバに対しても同様にアクセスできますので、通信用のインターフェースとして難読化を行わないクラスを用意する必要もありません。 Exob.Public.Reflector を賢く利用することで非常に匿名性の高いアプリケーションを構築できるでしょう。


ライセンスについて
 Express Obfuscator は、基本的にシェアウェアとしての形態をとっていますが、一部オプション (高度な難読化) を適応せずに難読化を行ったアセンブリに関しましては、完全ライセンスフリー (商用利用も可) としてご利用頂けます。全ての難読化機能をご利用になるには難読化を行うアセンブリごとに対応するライセンスの購入が必要です(*6)。現在、期間限定 (6月末までを予定) 特別販売価格 1ライセンス 1500円 (税込) にてご提供させて頂いております。決済は、銀行振り込み、または、ベクターのシェアレジのご利用が可能です。ライセンスの詳しいご購入方法につきましては、こちらの オンラインマニュアル をご参照ください。なお、Express Obfuscator は、厳重なセキュリティを除く全ての機能をトライアルコード (試用コード) としてご試用頂けます。ライセンスのご購入は、まずトライアルコードにて動作チェックを入念に行って頂き、難読化による不具合が無いことを確認してからご申請くださるよう宜しくお願い致します(*7)。
V1.500
・プロジェクトタブを設置し、複数のプロジェクトを1つのウィンドウで同時に開けるようになりました。
・依存関係を持つ複数のプロジェクトを同時に難読化できるようになりました。(プロジェクトリンク機能)
・pfx による再署名時のパスワード入力は2回目以降省略できるようになりました。(CSP キーコンテナを利用)
・DllImport 属性で宣言されるメソッドは予約名として処理されるようになりました。
・稀にアクティベートに失敗する不具合を修正しました。

プログラム関連 Express Obfuscator

よくある質問 | ご利用案内 | Copyright 2002 - 2010 BrotherSoft.com All rights reserved. リンクについて | 初めての方 | Weeebs.com | AfreeCodec.com