2012-03-13 6 views
1

私のアプリケーションには、他人の観察や調査から保護するためのいくつかのアルゴリズムが含まれています。私はスマートアセンブリ製品のオプションを検討して、暗号化されたバージョンのアセンブリをメインのexeアセンブリリソースに埋め込むことを検討しています。復号化を行わないと、リバースエンジニアはそれらのアセンブリのコードを調べることができません。実行時SAでは、必要に応じてそれらを透過的にメモリに解読します。.NETで実行中のアプリケーションからILをダンプすることは可能ですか?

私の質問は、リバースエンジニアが実行中のアプリケーションのメモリからアセンブリのILをダンプすることは可能ですか?

なぜ難読化を使用しないのですか?まあ、私のアプリケーションはかなり複雑で、私が見た.NET obfuscatorはすべて正しく処理できません。

+3

あなたが記憶に入れたものは、他のプロセスが潜在的に読むことができる公正なゲームです。 – user7116

答えて

4

ILを復号化してメモリに格納して実行すると、興味のある第三者がILを取得できます。上流に泳ぎ、複雑なレイヤーをアプリケーションに追加することはできますが、最終的には時間を費やすことになる人はあなたのILを取得することができます。

アルゴリズムのIL(またはJIT出力)を視認するための努力を余儀なくされる可能性があります。おそらく、より堅牢な市販の難読化エンジンは付加価値です。おそらくILの暗号化と解読は付加価値です。

私が言うことができるのは、安全のための大雑把なルールです。は、他の人には望みたくないものへのアクセス権を与えません。

アルゴリズムにアクセスできない場合は、実行可能ファイルの配布は非開始です。ホストされたソリューション(Citrix、Virtual Desktopsなど)を検討してください。

2

はい、必ずしも些細なことではなくても可能です。このアプローチをとっている難読化製品のいくつかには、非常に隔離された非常に使い捨てのマシン以外のもので私が個人的に使用しないほど、そのソースが十分に評価されていませんが、公的に利用可能なダンプがあります。これは意図的にあなたの知的財産を悪用しようとしている人々が、そのようなツールを使用している(または開発中の)スクラップルを持つ可能性があるということを意味するものではありません。

関連する問題