3

postsharp で clisecure によって作成されたコード保護 (コードは暗号化され、反映されません) を使用しようとしましたが、ソリューションで postsharp を使用すると、セキュアな dll がコンパイルされません。PostSharp.Laos と PostSharp.Public だけを使用します

あなたはそのような組み合わせを試したことがありますか?あなたはそれを機能させることができましたか。使用している場合、どの難読化ツールとどのコード ウィービング フレームワークを使用しているか教えてください。

4

2 に答える 2

2

Dotfuscator と Postsharp を組み合わせて使用​​することに成功しましたが、コンパイル時の IL Weaving のみを使用し、ランタイム インターセプトはまだ使用していません。PostSharp コンパイル後のウィービングが出力するバイナリを難読化する限り、すべてが非常に簡単です。

難読化によってシンボル名が変更されるため、通常の難読化に関する注意事項はクロス カット コード (特にリフレクションを使用する場合) に適用され、リフレクションされるシンボルやレイト バインディングを使用するシンボルを名前変更またはプルーニングから除外する必要があります。

于 2010-02-09T21:25:37.263 に答える
1

難読化ツールを使用する場合、いくつかのトリックがあります。たとえば、アスペクトはPostSharpによってシリアル化され、実行時に逆シリアル化されるため、アスペクトタイプの名前とアスペクトタイプのフィールドを変更することはできません。アスペクトに難読化の例外を使用することをお勧めします。

もう1つの問題は、アスペクトのターゲットである一部のメソッドの名前を変更できないことです。これは、ジェネリックメソッドまたはジェネリック型のメソッドでのみ発生すると思います。

別の方法は、WIBUなど、コードの名前を変更しない難読化ツールを使用することです。しかし、私は試しませんでした。

于 2010-02-10T08:49:53.360 に答える