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

ms227193.pro(ja-jp,VS.90).jpg 難読化の重大な欠点に、アプリケーションの管理やトラブルシューティングの作業が困難になることがあります。アプリケーションが適切に難読化されると、すべての型、メソッド、フィールドの名前は、注意深く考え出されたわかりやすい名前から、意味のない半ば無作為な名前に変更されます。

このため、スタック トレースのフォーム内のフィールドから送られるバグ レポートの実用性が低下します。スタック トレースとは、基本的にはプログラム内で問題が起きた場所の一覧を示すものです。このリストにはプログラムに埋め込まれた名前 (メソッド名や型名など) が含まれます。難読化されたプログラムのスタック トレースには難読化後の名前が書き込まれるため、サポート担当者や開発者はこれを読み取るのが非常に困難になります。

この難問を解決するため、Dotfuscator Professional Edition には、難読化されたスタック トレースを名前変更の割り当てファイルを使って自動的にデコードするツールが用意されています。難読化されたスタック トレースをこのツールに入力すると、難読化された名前が元の名前に置き換えられて、結果が表示されます。このツールは Professional Edition に組み込まれています。PreEmptive 社はこれと同じ機能を、Lucidator と呼ばれるスタンドアロン ツールでも提供します。この製品はグループでのライセンス供与が可能です。

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

© 2002-2007 PreEmptive Solutions. All rights reserved.