質問

DotFuscatorを使用してWCFプロキシクラスを難読化する方法 私は彼らのウェブサイトからDotfuscator Pro Editionの裁判をダウンロードしました。私はmy app.exeファイルを難読化しました、すべてがうまく難読化されていましたが、WCFプロキシクラスはそうではありませんでした。(私はexeを隠した)

WCFプロキシクラスは私のアプリケーションの構造を離しています。Dotfuscatorアプリケーションで行方不明の設定はありませんか?

WCFサービスプロキシクラスを隠すより良い方法はありますか?

役に立ちましたか?

解決

片道または別の方法では、WCFは、サービスのデータ契約内の要素をクライアントのプロキシクラスにバインドできなければなりません。通常、プロキシクラスとそのメンバーを難読化しているのは通常ほとんどありませんが、それらを難読化したい場合は、Nameまたは[DataContract]属性(例えば[DataMember])の[DataMember Name="ID"]パラメータを使用して、タイプとそのメンバーの名前を明示的に設定できます。これを行いたら、[RENAME - > [Lule-in Rules]タブから[シリアライザブルとしてマークされたタイプとフィールド]を無効にすることができ、名前の変更 - > [オプション]で[XMLシリアライザとの互換性]が確認されていることを確認できます。タブ。このアプローチへの注意は、シリアル化されたプロパティの名前が依然としてコードに含まれており、まだワイヤの上に送られます。

あなたがより多くの保護を必要とし、あなたがサービスとクライアントの両方を制御するならば、より良いがより面倒な選択肢は、あなたのサービス契約を自分のアセンブリに配置し、それをDotfuscatorでそれを処理することであるかもしれません。繰り返しになりますが、「RENAME - > Built-relulation」タブから「直列化可能な」組み込みルールを無効にし、名前の変更 - > [オプション]タブで「XMLシリアライザとの互換性」が確認されていることを確認します。これで、サービスとクライアントアプリケーションの両方から得られたサービス契約DLLを参照してください。このアプローチによるトレードオフは、契約メンバーがすべて難読化された名前(例えば「A」)を持つことになり、あなたのサービスとクライアントアプリケーションコードの中でそれらを参照する必要があります。名前変更された名前を理解するために、MAPファイルDotFuscatorが生成することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top