1

そのため、コンパイル後にプログラムを難読化しようとしています。きっとその通りだと思います(?)

私は、EazFuscator と呼ばれる非常に人気のあるフリーウェアを使用しています。これには、ちょっとしたコマンド ライン ユーティリティがあります。

だから私が行くなら:

Eazfuscator.NET MyProgram.exe

難読化に成功し、難読化が完了したら、プログラムを実行しようとするとクラッシュします。(ランタイム例外が発生します)

代わりに私が試したもう1つのことは、私のプログラムが使用するDLLの1つを難読化することです:

EazFuscator.NET SomeDLLMyProgramUses.dll

難読化は成功しますが、プログラムを実行するとクラッシュします...

まず、この EazFuscator プログラムに関係なく、.DLL および .EXE ファイルを難読化することは可能でしょうか? 通常、それらを壊すことは想定されていませんか?

注: 私のプログラムではいくつかのリフレクションが行われていますが、それが問題の原因かもしれません..しかし、100% 確実ではありません。

4

6 に答える 6

6

Dotfuscatorコミュニティ エディションがあり、試すことができます。

一般に、難読化ツールは、難読化したアプリを壊すことは想定されていません。問題を再現できる場合は、製造元に問い合わせてください。

于 2011-09-20T20:17:55.430 に答える
4

ほとんどの難読化ツールには、型名、メソッド名、文字列など、難読化のレベルを管理できる設定があります。ツールが元の IL コードに対して実行したこれらの変更により、難読化のレベルが原因で IL コードが破損している可能性があります。使用可能な設定を確認し、それらの設定のいくつかを回避してみてください。

于 2011-09-20T20:19:07.853 に答える
2

はい、コンパイル後にアセンブリを難読化する必要があります。アセンブリは難読化ツールによって再構築されます。したがって、コンパイルとビルドについて心配する必要はありません。

無料の難読化ツールである FxProtect を使用しています。Advance Professional バージョンも利用できますが、無料ではありません。あなたはそれを試すことができます...

.Net難読化ツール

于 2012-04-17T10:45:29.723 に答える
2

リフレクションを使用している場合、難読化ツールによってコードが壊れる可能性があります。難読化中に型名は通常変更されるため、特に型を名前で参照している場合は、リフレクションが期待どおりに機能しない可能性があります。リフレクターのようなツールを使用して、難読化されたアセンブリを確認すると、何が起こっているかを確認できます。

于 2011-09-20T20:26:48.207 に答える
0

いいえ、通常、実行可能プログラムを難読化することはありません。質問を投稿してからずっと考えていて、その理由を想像できると思います。

ソースコードで難読化を実行し、それをコンパイルして成果物にします。

于 2011-09-20T20:17:30.893 に答える
0

難読化によってコードが破損するかどうかは、コードで何を行うかによって異なります。そこでリフレクションを使用している場合、それが根本的な原因であることはほぼ確実です。

CLISecureは、以前は (混合モードのアセンブリでも) うまく機能していましたが、コードベースではリフレクションを使用していません。

于 2011-12-07T17:53:38.273 に答える