2

クライアントがソース コードに対して最小限のセキュリティを確保したいという状況があります。これは Web アプリであり、ホストはパートナーとなる人物になります。心配なのは、ホストがコードをリバース エンジニアリングし、側でショップをセットアップするのは簡単だということです。コードを難読化するともっと難しくなるだろうと、私は彼らに言いましたが、それは本当の解決策ではありませんでした。

私の最初の問題: 厳密に名前が付けられたアセンブリを難読化できません。難読化されていないアセンブリへのリンクを維持しながら、これらのアセンブリの難読化をスキップできると思いますが、2番目の問題のために簡単にテストできません。

2 つ目の問題: マークアップからそのクラスへのリンクと、マークアップ ページが呼び出すメソッドが壊れているため、Web (コード ビハインド) アセンブリを難読化できません。

4

2 に答える 2

1

強く名前が付けられたアセンブリは、難読化後に辞任できるキーがあれば、問題なく難読化できます。Dotfuscatorの無料のCommunityEditionでは、出力を手動で再署名する必要があります。Professionalエディションでは、難読化プロセスの一環として、厳密な名前やAuthenticode署名を使用して出力を自動的に再署名できます。

アセンブリの背後にあるコードを難読化することもできますが、マークアップで参照されているタイプを名前変更から除外する必要があります。繰り返しになりますが、これはCommunity EditionとProfessionalエディションの両方で、名前変更の除外ルール(文字通りの一致または正規表現ベース)を設定するか、名前変更から除外する個々のタイプとメンバーを選択することで実行できます。これらはすべて、Dotfuscatorユーザーインターフェイスの[名前の変更]セクションからアクセスできます。

アクティブなサポートサブスクリプションをお持ちで、難読化時に特定の問題が発生した場合は、PreEmptive Webページから直接サポートに連絡するか、PreEmptiveが特定の質問を投稿できる公開フォーラムをホストしています。

于 2010-03-11T16:27:05.217 に答える
0

イベントのバインドを使用して、aspx ファイルではなくコードで制御できます。c#btnSave.Click += Save_Clickのように、`private void Save_Click(...) を使用します。

また、パブリック/保護されたメソッド コードを小さなプライベート メソッドに分割して、実際のパブリック/保護されたメソッドから呼び出すことができ、マークアップからのリンクを壊さないプライベート メソッドのみを難読化することを選択できます (Dotfuscator の難読化のライブラリ モードだと思います)。

これにより、より高い難読化率を実現できます。

于 2010-03-18T09:03:54.397 に答える