.NETで書かれたプログラムを保護する必要があります。私はthemidaプロテクターを使用して小さなdll(Cで記述)を仮想化することにしました。これはメインプログラムに(PInvokeを介して)ロードされてアクティブ化されます。
特定の理由により、保護dllを/clrキーでコンパイルする必要があります。ライブラリはマネージタイプをエクスポートしないため、そこでそれらを使用することができます。
しかし、保護されたdllにいくつかの問題があります。dllがclrサポートでコンパイルされ、themidaによって保護されると、DLLMainでデッドロックされます。この場合、themidaはいくつかのマネージドコールをDllMainに入れているようです。この問題を回避し、デッドロックを防ぐ方法はありますか?