ソフトウェアライセンス認証の一部としてDateTime.Nowを使用して、ソフトウェアを使用できる日数を強制する場合、システムクロックを変更するだけで、これを回避できますか?
もしそうなら、実際のUTC時間を取得するためのより良い方法はありますか?
ソフトウェアライセンス認証の一部としてDateTime.Nowを使用して、ソフトウェアを使用できる日数を強制する場合、システムクロックを変更するだけで、これを回避できますか?
DateTime.Nowはシステムクロックを使用するため、回避できる可能性があります。
もしそうなら、正確なシステム時間を取得するためのより良い方法はありますか?
はい、wwwを介してタイムサーバーにクエリを実行できます。ただし、ユーザーがhostsファイルを変更し、使用しているアドレスを自分のプロキシに置き換えて、好きなときに返すことができるため、これでも回避できる可能性があります。したがって、それはすべて、ソフトウェアの保護にどれだけ取り組みたいかによって異なります。ソフトウェアの知的財産に本当に関心がある場合は、商用ライセンスソフトウェアを購入する方がよいでしょう。
私がこの方法をテストに使用するたびに、これに影響が出たので、答えは「はい」です。
はい、もちろん、DateTime.Nowはシステムクロックからその値を取得します。
より良い方法は、インターネット上でNTPサーバーを使用することです。
codeprojectに関するこの記事では、クライアントがNTPサーバーに接続できるようにするコードを見つけることができます。