2012-03-27 6 views
6

私はいくつかのアプリケーションをビルドしており、難読化ツールでコードを実行する時間だと決めました。私はEazfuscator.NETをダウンロードして使用しました。そして、アプリケーションをインストールした後、Ispyをダウンロードして、プロセスがうまくいったかどうかを確認しました。.Net Obfuscatorの問題

私が見つけたのは、多くのコードを簡単に見ることができたということでした。例えば、私のルーチンのロジックは、私のバックグラウンドワーカーの一部にありました。はい、文字列は変更されましたが、私がかなり重要と考える一部のポーションは見えました。

たとえば、アプリケーション認証キーを作成するときに、暗号化を実行する前に鍵に添付する項目があります。これらのアイテムは、Ispyを使用してアセンブリを表示したときに表示されました。私の暗号化ライブラリへのパスフレーズは隠されていましたが、これは私が誰かが見ることができるようにするよりもさらに多くの情報であると感じています。

私の質問は、 - obfuscatorを使用すると、この通常の動作ですか?それとも私は他のものを試すべきですか?

+0

私は他のものをしようとするだろう。私はdotfuscatorを使いましたが、匿名の型を除いては非常にうまくいきます。 VS2010も難読化していると私は信じている – Brian

+2

ようこそスタックオーバーフロー!私はEazfuscatorを使用して、本当に高密度のハードコア出力を得ました。最新のビルドを使用していることを確認してください。いくつかの設定を調整してみてください。 – ashes999

+0

私は設定が非常に少ないです。あなたは正確に話していますか? –

答えて

3

より良い結果を得るためにEazfuscator.NETの設定を、次の使用:あなたのアセンブリ情報ファイル内

[assembly: Obfuscation(Feature = "code control flow obfuscation", Exclude = false)] 
[assembly: Obfuscation(Feature = "PEVerify", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt symbol names with password mypassword", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt resources [compress]", Exclude = false)] 

+0

これらの設定は、出力から出力される.exeファイルに対して本当にうまく機能しました。しかし、それと一緒にビルドされているクラスライブラリは、アセンブリファイル内で同じ設定を持っていますが、関数パラメータなどのかなりの部分を見ることができます。私はクラス図書館のために特別なことをする必要がありますか? –

+0

メソッドまたはプロパティは公開されていますか?デフォルトでは、ライブラリ内のパブリックは、そのライブラリをアタッチしている誰にとっても見えるので、ライブラリ内のパブリックは難読化できません。 – Marcin

+0

はい、さまざまなアプリケーションで同じライブラリを使用しているため、メソッドはpublicです。私はここで何かを逃していますか、再利用できるライブラリをどうやって書くのですか?それは難読化することができますか? –

0

Crypto Obfuscatorを試してみてください - それは文字列の暗号化、制御フロー難読化、などの難読化技術をたくさん持っていますメソッド呼び出し隠蔽、リソース保護など、コードの読み込みと理解が非常に難しくなります。

免責事項:私はLogicNPソフトウェア、Crypto Obfuscatorの開発者のために働いています。

0

難解な難読化機能は、 アセンブリを難読化するために使用されるため、難読化された.NETコードは、理解するのがはるかに難しく、逆コンパイルに失敗します。 アセンブリの不正アクセスや改ざんを防ぐために、 メソッドレベルコードの暗号化、アンチリバースエンジニアリング、アンチデバッグ、改ざん防止、および を組み合わせたコード保護で.NETアプリケーションとDLLを保護することができます。

私はFxProtect - .Net Obfuscatorを使用しています。それは本当に良いです。

あなたはそれを試すことができます... .Net Obfuscator