2011-07-26 5 views
3

私の.NETアプリケーションの1つでは、私のプログラムをライセンスキーを持つライブラリに "検証"する必要があります。
しかし、私のアセンブリを覗く人は誰でも鍵を得ることができます...
これは私には影響しませんが、私はライブラリの作成者を気にしています。
私は彼/彼女の鍵を漏らして、このような損失を引き起こしたくない....NETアプリケーションで文字列を保護しますか?

私のデータを保護するために使用できる無料のツールはありますか?
私は本当に他のコードを気にしません...キーは重要です。

+0

サービスの代金は支払っていますか?それから私はその心配を見ることができた。なぜあなたは他の人が無料でそれを持っていることができるように支払うべきですか?無料の一意のライセンスキーを取得するために登録する必要がありましたか?それは悪いことではないと思いますが、ライセンスキーを誰が使用しているのかわからず、誤った使い方を検出した場合にアカウントをキャンセルする可能性があります。誰のためにもライセンスキーは同じですか?それは変だけど、他の人がそれを持っているかどうかは関係ありません。私はちょうどあなたの状況が何かに興味があります。 –

+0

有料です、キャンセルされる可能性があるので、私はそれを危険にさらしたくありません。 – Vercas

答えて

4

ライブラリーに渡す必要があり、ライブラリーを制御しない場合は、とにかくできません。 Reflectorのユーザーを邪魔するようなコードを難読化することはできますが(Reflector VSProではなく簡単にはできません)、私はちょうどCrack.NETを使ってメモリを覗いてそこから取得します。

安全なメカニズムを提供することは、ライブラリ作成者の仕事でした。公開鍵/秘密鍵、SecureStringDPAPIを使用するか、サーバに鍵を格納するためのWeb呼び出しが必要です。

0

Dotfuscatorがこれを行うことができます。私はそれがビジュアルスタジオでパッケージ化されていると思う - それを見てください。

私はそれについて心配しません。あなたが唯一の顧客でない場合は、他の誰かが難読化されていないコードでライセンスキーを漏らしているので、時間を無駄にしてしまう可能性があります。

+3

ひどいアドバイスのようです。他の企業がセキュリティを怠っている可能性があるので、彼はそれをすべてスキップする必要がありますか? – Dismissile

+0

これはセキュリティ上の問題ではありません。彼のIPを守るために外出する必要はないので、彼の問題ではありません。 –

+0

@Brian Gordonあなたは正しいです...しかし、私は少なくとも彼らのIPを保護しようとすれば怪我をしません... – Vercas

0

正直、私はそれについて気にしません。ある時点で、そのライブラリ内の何かにパラメータとして渡す必要がある場合、コードをどれほど難読化しようとしても問題はありません。コードを覗いている誰かが最終的に鍵を見つけるでしょう。代わりに図書館のプロバイダを責めてください:)

+0

私はそれが自分のせいではないことに同意します。私はそれについて何ができますか? – Vercas

1

私が思い出すことができる唯一の方法は、コードをubfuscatingするためのdotnetfuscatorですが、これは専門家のリバースエンジニアリングの影響を受けません。トピックはquestion 211849

0

に記載されているいくつかの他の人がlist of code obfuscators at MSDNがありますあります

(全く答えがない)、これを行うための唯一の現実的な方法は、.NETを使用するのではないC#の開発者にとって痛いのポイントです。

0

これと他のことをやって別の製品:SmartAssemblyレッドゲートから(無料ではないが)...

絶対的なセキュリティはありません - ESP。 ...

文字列定数には注意が必要ですが、 "static readonly"文字列で置き換える必要があります。それ以外の場合は "難読化/暗号化"できません。 ..

+0

さて、ライセンスキー文字列をローカル変数に書きます。一度だけアクティブにする必要があります。 – Vercas

0

私は同じ状況です。キーは私のコードにあります。私はコードを難読化しない。これは、ユーザーの大半がプログラマーではなく、コードを逆コンパイルしてキーを取得する方法を知らないためだと思います。私が心配していたなら、私は上記のように難読化したいと考えています。

0

私はこれを別のやり方で見ていきます。

ライブラリに検証するためのライセンスが必要な場合。アプリケーションにライブラリを配布するための適切なライセンスがありますか?

もしそうなら、適切に鍵を保護する方法を教えてくれるのは、図書館提供者の責任です。

それ以外の場合は、コード難読化器でできる限りのことをしてください。

+0

はい、検証にはライセンスが必要ですが、私はアプリケーションにライブラリを配布するための適切なライセンスを持っています。ライブラリは当初は.NETで使用されることは意図されていませんでしたが、.NETラッパーが付属しています。 – Vercas

関連する問題