0

「ベータ」バージョンをアップロードしたいが、信頼の問題があるとします。有効期限を追加するにはどうすればよいですか。

有効期限をハードコーディングすることを考えましたが、そうすると誰でも .NET dll を逆コンパイル/再コンパイルできてしまいます。

次に、アプリが独自のファイルを反復処理して削除する必要があるのではないかと考えました。しかしその後、重要な dll を削除した後に IIS ワーカーが停止し、他の dll を削除できなくなります。BIN を含むすべてのフォルダーに書き込み権限を設定する必要があることは言うまでもありません。

うーん...何かアイデアはありますか?

4

2 に答える 2

1

「しきい値を超えるティック」を使用してスケーラビリティの計画的な削減を計算し、すべて異なる時間しきい値に設定し、遅延などを導入するなど、コードの奥深くで意味のある入力変数として日付を使用することをお勧めします。これらをいくつかの場所に置き、コメント .cs でマークすると、必要に応じて簡単に削除できますが、dll から根絶するにはコストがかかりすぎます。

于 2012-05-10T14:07:03.847 に答える
1

ハードコーディングされた日付チェックをどこかに追加し、アプリケーションを難読化します。

アップデート:

特に商用ツールを使用している場合、難読化されたアセンブリで日付チェックを見つけるのは簡単だとは言えません。もちろん、これは 100% 安全ではありません。難読化されたアセンブリのデバッグやクラックの経験はありませんが、市販の難読化ツールとその機能をグーグルで検索するのに時間を費やしています。

それに加えて、アプリケーションがインターネットに接続して実行されているという事実を利用できます。もちろん、簡単に盗聴される可能性のある外部リソースを確認できますが、アプリケーションの重要な部分をコーディングすることができます。他のサーバー。その後、アプリケーションはそのスクリプトをダウンロードし、解読して実行する必要があるため、リモート サーバーからスクリプトを削除すると、その機能を再現するのが非常に難しくなります。サード パーティがそのスクリプトをダウンロードし、利用できなくなったときにそれを提供する可能性があります。その点に注意してください。おそらく、Rosylnを使用して、そのスクリプトの代わりに C# コードを使用できます。

私は似たようなことは何もしませんでした。おそらくもっと問題があるかもしれません。それは私の頭をよぎっただけなので、この方法で行きたい場合は調査を行ってください:)

于 2012-05-10T14:11:50.413 に答える