アカウント名:
パスワード:
どうみても大したコストは掛けられそうにない
これだけ小さい値段にするなら、サイズも相応だと思うので、販売処理時に自動で以下のようなことをするような機能があるとどうか
必須コンポーネント(DLLのひとつとか)をはずしておいて、販売相手にはメール添付で送る、その際にDLLのリソースに自動的に相手メールアドレスを埋め込むとか
公知しておけば、ある程度の抑止にはなるんじゃないかな?
ライセンスファイルをプレーンテキストにしてライセンシーの名前とメールアドレスを「見えるように」埋め込んでます。で、名前とメールアドレスを含むライセンス情報全体に対してRSA署名をつけて、公開鍵で署名検証できないとライセンス認証失敗。もちろんアプリ側に埋め込んであるRSA公開鍵を書き換えられるとアウトなのでわかりづらくはしてます。まークラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。
投下できる開発コストや正規ユーザの使い勝手を考えるとこんな感じのバランスに落ち着きました。カジュアルなライセンス情報配布を抑えるのが目的なので、それ以上の手練は諦めてますねー。
ライセンスキー発行時にユーザーの実名を暗号化したもの/ハッシュ値を発行したキーに埋め込むタイプのプロテクトをしていたシェアウェアで、アプリ起動時にはタイトルバーに実名を表示する(Licensed to XXX YYY)というものがあった.それでもクラックされるものはクラックされるものだが、大多数の一般ユーザーのカジュアルコピー抑止にはそこそこ有効.
クラックライセンスキーとしてLicensed to Anonymousを見た記憶が………※利用の際にはお面かぶってください
なるほど、それは良いですね。仕組みとしても妥当ですし。
# というか、その内容ならやってくれるライブラリとかあるといいな。
クラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。
問題は、ここに帰結するので意味はないですね。
それよりも、いつどこで認証をするか、隠蔽するかを考えた方がよいでしょう。日曜クラッカーには有効です。
起動時にチェックしてたら、クラッカーにエサを与えるのと同義です。
ライブラリごと偽装されてしまいますね。
海賊版は勲章だと思いましょう。
#2349105です。
同感です。処理そのものが特殊ハードウェアに依存している場合を除き、難易度はあるにせよ最終的には必ず破られますね。(単なるハードウェアキーだと認証する関数の(以下同))
解析コストを高めて、なるべく多くのクラッカーさんに諦めてもらうのが基本的な方策になると思います。そうするとプロテクトの中身、認証タイミング等が未知であることが重要で、すぐに既知になってしまうバイナリパッカーの類やライブラリ化はそれほど筋が良くない気がします。
> 海賊版は勲章だと思いましょう。
これはありますね。クラックを肯定するわけではないのですが、逆説
AndroidのアプリTitaniumBackupがそういうライセンスファイルですね。customerNameとcustomerEmailが平文で、それにシグネチャーが6行ほど入ってます。バイナリ書換対策としては頻繁なバージョンアップでしょう。
これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。
ジェネった or 不正流通の無効キーに関してはバージョンアップ時に無効番号リストを入れてるんじゃないかと思ってます。
>これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。
カジュアルコピーしたかったけど、割る作業がめんどいから「実際買いました」の?
> 頻繁なバージョンアップでしょう。
でもバージョンアップって面倒なんですよね。たとえば平均月1回のペースだったとして、開発者の側から見れば、たったの月1回ですが、利用者から見れば、そのソフトだけを使ってるわけじゃないし、5ドル~10ドル程度のソフトなら30個くらい入っててもおかしくないわけで、そうすると毎日なにかしらのソフトのバージョンアップをしなければならないということになります。
もちろん、開発者だって別のソフトの利用者だろうから、同じ面倒を味わってるはずなんだけど。ソフトそのものが仕事だから、がまんできるのかなあ。ソフトは単なる道具という利用者からすれば、たとえばノートやらペンやらの日常的な道具が何かしら毎日バージョンアップを求めてきたら、うざくて仕方がないはず。
ATOKが似たような事をしていたような記憶があります。ダウンロード版を買うとソフトウエアに名前が埋め込まれていて、ライセンス情報表示するときに一緒に出てきました。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:1)
どうみても大したコストは掛けられそうにない
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:2)
これだけ小さい値段にするなら、サイズも相応だと思うので、販売処理時に自動で以下のようなことをするような機能があるとどうか
必須コンポーネント(DLLのひとつとか)をはずしておいて、販売相手にはメール添付で送る、その際にDLLのリソースに自動的に相手メールアドレスを埋め込むとか
公知しておけば、ある程度の抑止にはなるんじゃないかな?
M-FalconSky (暑いか寒い)
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:5, 興味深い)
ライセンスファイルをプレーンテキストにしてライセンシーの名前とメールアドレスを「見えるように」埋め込んでます。
で、名前とメールアドレスを含むライセンス情報全体に対してRSA署名をつけて、公開鍵で署名検証できないとライセンス認証失敗。
もちろんアプリ側に埋め込んであるRSA公開鍵を書き換えられるとアウトなのでわかりづらくはしてます。
まークラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。
投下できる開発コストや正規ユーザの使い勝手を考えるとこんな感じのバランスに落ち着きました。
カジュアルなライセンス情報配布を抑えるのが目的なので、それ以上の手練は諦めてますねー。
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:4, 興味深い)
ライセンスキー発行時にユーザーの実名を暗号化したもの/ハッシュ値を発行したキーに埋め込むタイプのプロテクトをしていたシェアウェアで、アプリ起動時にはタイトルバーに実名を表示する(Licensed to XXX YYY)というものがあった.
それでもクラックされるものはクラックされるものだが、大多数の一般ユーザーのカジュアルコピー抑止にはそこそこ有効.
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:4, おもしろおかしい)
クラックライセンスキーとしてLicensed to Anonymousを見た記憶が………
※利用の際にはお面かぶってください
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:2)
なるほど、それは良いですね。
仕組みとしても妥当ですし。
# というか、その内容ならやってくれるライブラリとかあるといいな。
M-FalconSky (暑いか寒い)
Re: (スコア:0)
クラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。
問題は、ここに帰結するので意味はないですね。
それよりも、いつどこで認証をするか、隠蔽するかを考えた方がよいでしょう。
日曜クラッカーには有効です。
起動時にチェックしてたら、クラッカーにエサを与えるのと同義です。
# というか、その内容ならやってくれるライブラリとかあるといいな。
ライブラリごと偽装されてしまいますね。
海賊版は勲章だと思いましょう。
Re: (スコア:0)
#2349105です。
同感です。処理そのものが特殊ハードウェアに依存している場合を除き、難易度はあるにせよ最終的には必ず破られますね。
(単なるハードウェアキーだと認証する関数の(以下同))
解析コストを高めて、なるべく多くのクラッカーさんに諦めてもらうのが基本的な方策になると思います。
そうするとプロテクトの中身、認証タイミング等が未知であることが重要で、
すぐに既知になってしまうバイナリパッカーの類やライブラリ化はそれほど筋が良くない気がします。
> 海賊版は勲章だと思いましょう。
これはありますね。クラックを肯定するわけではないのですが、逆説
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:1)
AndroidのアプリTitaniumBackupがそういうライセンスファイルですね。customerNameとcustomerEmailが平文で、それにシグネチャーが6行ほど入ってます。バイナリ書換対策としては頻繁なバージョンアップでしょう。
これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。
ジェネった or 不正流通の無効キーに関してはバージョンアップ時に無効番号リストを入れてるんじゃないかと思ってます。
Re: (スコア:0)
>これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。
カジュアルコピーしたかったけど、割る作業がめんどいから「実際買いました」の?
Re: (スコア:0)
> 頻繁なバージョンアップでしょう。
でもバージョンアップって面倒なんですよね。たとえば平均月1回のペースだったとして、開発者の側から見れば、たったの月1回ですが、
利用者から見れば、そのソフトだけを使ってるわけじゃないし、5ドル~10ドル程度のソフトなら30個くらい入っててもおかしくないわけで、
そうすると毎日なにかしらのソフトのバージョンアップをしなければならないということになります。
もちろん、開発者だって別のソフトの利用者だろうから、同じ面倒を味わってるはずなんだけど。
ソフトそのものが仕事だから、がまんできるのかなあ。ソフトは単なる道具という利用者からすれば、
たとえばノートやらペンやらの日常的な道具が何かしら毎日バージョンアップを求めてきたら、うざくて仕方がないはず。
Re:「個人の開発者で」「5ドル~10ドル程度の小規模な」 (スコア:1)
ATOKが似たような事をしていたような記憶があります。
ダウンロード版を買うとソフトウエアに名前が埋め込まれていて、ライセンス情報表示するときに一緒に出てきました。