1

ソース コードを保護するために dotfuscator を使用し、(パブリック メソッドとクラス名を正しく保つために) 名前の変更を無効にしましたが、リフレクターを使用して暗号化後にアセンブリを表示したときに、あまり変更されていないことに気付きました。ソースコードはまだ見ることができます。何か情報はありますか?

4

3 に答える 3

3

難読化属性を使用して、名前変更フェーズから除外するものを細かく指定できます。たとえば、プロパティでは次のようになります。

[Obfuscation(Feature = "renaming", Exclude = true)]
public int MyProperty
{
    get { return this.prop; }
}
于 2010-01-17T17:00:04.130 に答える
2

名前の変更を無効にすると、アセンブリ内のシンボル (メソッド、型など) の名前が変更されなくなり、難読化の有用性が大幅に低下します。

名前の変更を無効にするのではなく、パブリックにアクセス可能なメソッドの名前を保持するだけの場合は、パブリック メソッドを名前の変更から除外するアセンブリごとにライブラリ モードをオンにします。

さらに、名前を変更しても、Reflector で逆コンパイルされたソースが表示されなくなることはありません。逆コンパイルを中断するには、制御フローの難読化も有効にする必要があります。

于 2009-10-06T14:06:57.077 に答える
0

dotfuscator はコードを難読化するだけで、詮索好きな目から完全に隠すわけではありません。

メソッド本体を Reflector から本当に「隠し」たい場合は、Clisecureを使用することをお勧めします。Clisecure はメソッド名をすべて残したまま、ロジック本体を非表示にすることができます。

ロジックを難読化するオプションはありますか? それを使用する必要があります。ロジックが理解しにくくなります。

于 2009-10-06T07:17:37.450 に答える