パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

海賊版が使われないようにする適切な方法は?」記事へのコメント

  • どうみても大したコストは掛けられそうにない

    • これだけ小さい値段にするなら、サイズも相応だと思うので、販売処理時に自動で以下のようなことをするような機能があるとどうか

      必須コンポーネント(DLLのひとつとか)をはずしておいて、販売相手にはメール添付で送る、その際にDLLのリソースに自動的に相手メールアドレスを埋め込むとか

      公知しておけば、ある程度の抑止にはなるんじゃないかな?

      --
      M-FalconSky (暑いか寒い)
      親コメント
      • by Anonymous Coward on 2013年03月24日 12時56分 (#2349105)

        ライセンスファイルをプレーンテキストにしてライセンシーの名前とメールアドレスを「見えるように」埋め込んでます。
        で、名前とメールアドレスを含むライセンス情報全体に対してRSA署名をつけて、公開鍵で署名検証できないとライセンス認証失敗。
        もちろんアプリ側に埋め込んであるRSA公開鍵を書き換えられるとアウトなのでわかりづらくはしてます。
        まークラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。

        投下できる開発コストや正規ユーザの使い勝手を考えるとこんな感じのバランスに落ち着きました。
        カジュアルなライセンス情報配布を抑えるのが目的なので、それ以上の手練は諦めてますねー。

        親コメント
        • by Anonymous Coward on 2013年03月24日 15時13分 (#2349145)

          ライセンスキー発行時にユーザーの実名を暗号化したもの/ハッシュ値を発行したキーに埋め込むタイプのプロテクトをしていたシェアウェアで、アプリ起動時にはタイトルバーに実名を表示する(Licensed to XXX YYY)というものがあった.
          それでもクラックされるものはクラックされるものだが、大多数の一般ユーザーのカジュアルコピー抑止にはそこそこ有効.

          親コメント
        • なるほど、それは良いですね。
          仕組みとしても妥当ですし。

          # というか、その内容ならやってくれるライブラリとかあるといいな。

          --
          M-FalconSky (暑いか寒い)
          親コメント
          • by Anonymous Coward

            クラッカーは認証する関数の戻り値を書き換える方にいく気がするので実際効果あるかはよくわかりませんが。

            問題は、ここに帰結するので意味はないですね。

            それよりも、いつどこで認証をするか、隠蔽するかを考えた方がよいでしょう。
            日曜クラッカーには有効です。

            起動時にチェックしてたら、クラッカーにエサを与えるのと同義です。

            # というか、その内容ならやってくれるライブラリとかあるといいな。

            ライブラリごと偽装されてしまいますね。

            海賊版は勲章だと思いましょう。

            • by Anonymous Coward

              #2349105です。

              同感です。処理そのものが特殊ハードウェアに依存している場合を除き、難易度はあるにせよ最終的には必ず破られますね。
              (単なるハードウェアキーだと認証する関数の(以下同))

              解析コストを高めて、なるべく多くのクラッカーさんに諦めてもらうのが基本的な方策になると思います。
              そうするとプロテクトの中身、認証タイミング等が未知であることが重要で、
              すぐに既知になってしまうバイナリパッカーの類やライブラリ化はそれほど筋が良くない気がします。

              > 海賊版は勲章だと思いましょう。

              これはありますね。クラックを肯定するわけではないのですが、逆説

        • AndroidのアプリTitaniumBackupがそういうライセンスファイルですね。customerNameとcustomerEmailが平文で、それにシグネチャーが6行ほど入ってます。バイナリ書換対策としては頻繁なバージョンアップでしょう。

          これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。

          ジェネった or 不正流通の無効キーに関してはバージョンアップ時に無効番号リストを入れてるんじゃないかと思ってます。

          親コメント
          • by Anonymous Coward

            >これだと同じ人のカジュアルコピーは防げませんが、買ってくれると思います。実際買いました。

            カジュアルコピーしたかったけど、割る作業がめんどいから「実際買いました」の?

          • by Anonymous Coward

            > 頻繁なバージョンアップでしょう。

            でもバージョンアップって面倒なんですよね。たとえば平均月1回のペースだったとして、開発者の側から見れば、たったの月1回ですが、
            利用者から見れば、そのソフトだけを使ってるわけじゃないし、5ドル~10ドル程度のソフトなら30個くらい入っててもおかしくないわけで、
            そうすると毎日なにかしらのソフトのバージョンアップをしなければならないということになります。

            もちろん、開発者だって別のソフトの利用者だろうから、同じ面倒を味わってるはずなんだけど。
            ソフトそのものが仕事だから、がまんできるのかなあ。ソフトは単なる道具という利用者からすれば、
            たとえばノートやらペンやらの日常的な道具が何かしら毎日バージョンアップを求めてきたら、うざくて仕方がないはず。

        • ATOKが似たような事をしていたような記憶があります。
          ダウンロード版を買うとソフトウエアに名前が埋め込まれていて、ライセンス情報表示するときに一緒に出てきました。

          親コメント

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...