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

自分のコードの証とは?」記事へのコメント

  • Readme.txtに「このコードには再利用されたことがバイナリからでも
    確実にわかるしかけが作り込まれております」とでも書いておけば、
    内容も理解せずに盗用しようという輩は減るのではないですかね?
    実際には何もしていなくても、です。

    それはそれとして、盗用されたことを知るための手段をちょっと
    検討してみましょうか。

    (a) ファイル名、関数名、外部変数名などの一致
    実世界で盗用が明るみに出るのはこのケースが多いようですね。
    ただ、統一的に変更されていたら証明はかなり手間がかかりそう。

    裁判の場など第三者に直接アピールするのはやはりメッセージだと
    思います。ではどうするか、ですが...。

    (b) 開発者名などのメッセージを入れておく
    特定位置の文字値をコード中でループ制御やらフラグ値などに使い、
    メッセージを変更したらちゃんと動かなくなるようにするわけです。
    C言語ならそうそう簡単にはそのメッセージを無効にできないように
    することも可能ですが、プログラムは汚くなりそう。

    (c) 実行時にメッセージを作る
    適当なテーブルに実行時にこっそりメッセージを組み立てておき、
    特定の場面でメモリのスナップショットをとれば開発者が誰だか
    わかるようにする。組み込み環境だと発見できないかな?
    • by __hage (7886) on 2005年03月22日 0時48分 (#711904)
      バグが決め手になったという例もあったかと思います。
      わざわざバグを入れるやつはまずいないんで、
      同じ状況で同じバグが発現すればデッドコピーだと判断できると。

      あと、非常に有名な例ではゼビウスのやつがあります。
      ゲーム開始時に一定の操作をするとメッセージがでてくるという。
      コピーして改変したやつだと「盗品だ」みたいなメッセージが出ました。

      地図なんかでは、わざとミスを仕込んでおくそうですね。

      話は変わりますが、昔、バイナリに仕掛けを入れたことがあります。
      別に自分が作ったことを主張したいとか、コピーの検出とか、
      わざとバグを仕込んだとかいうんじゃないんですが。

      点取り占いってありますよね。
      作った物自体は単純に起動したらメッセージを出して終わるだけの物です。
      メッセージはバイナリにxor程度の簡単な暗号化を施して入れてあります。
      んで、バイナリエディタなんかで覗いたときに、
      「おまえは出歯亀だ ●一点」
      というメッセージだけはそのまま見えるようにしておいたのでした。

      引掛った人からメイルが来たりして面白かったな。
      親コメント
      • > んで、バイナリエディタなんかで覗いたときに、
        > 「おまえは出歯亀だ ●一点」
        > というメッセージだけはそのまま見えるようにしておいたのでした。

        Borland の Turobo C か Turbo Pascal 付属のライブラリか何かの中に、
        独身プログラマ(男)の嘆きが埋め込まれてたのを発見したのを
        思い出しました。

        …遠い昔のことなので、本当か夢か自信がないな。:-)
        親コメント
      • >地図なんかでは、わざとミスを仕込んでおくそうですね。

        改描といって主に国防上の理由から地図を改ざんする(建物を別の地図記号に変える・2点間の距離を変えるなど)ものですね。地図が他国に漏れたときに攻撃目標となる重要拠点を知られる危険性があるからだとか。
        自分の物として公開する目的ではないので「バグで盗作を防ぐ」例としてはちとずれてくると思いますが。
        # オフトピですいませんなのです
        --
        ---- 何ぃ!ザシャー
        親コメント
        • by Yggdra (14017) on 2005年03月22日 15時04分 (#712082)
          ゼンリンによるインクリメントPの著作権侵害訴訟 [impress.co.jp]では、「インクリメントPの地図にゼンリンの地図と同じ間違いが多数あることも確認されたと指摘していた」とのこと。

          訴訟になってから間違いを探した可能性もあるけど、それだと他社から地図が出るたびに自社の地図の著作権侵害をしていないかどうか、広大な地図3種(自社、他社、国土地理院)を照らし合わせる、という途方もない作業が生じるので、あまり現実的ではないかなぁ、と思います。
          やっぱり著作権侵害に備えて、故意に間違いを含ませているんじゃないでしょうか。それだったら、その箇所だけ照らし合わせればよいわけですしね。
          親コメント
          • 「インクリメントP vs ゼンリン」の件を失念していました。国土地理院の原図に各地図メーカーで付加価値を与える場合には、著作権の問題が出てきますね。コピー対策の間違った情報もありそうです。
            # Yggdra氏のご指摘に感謝します

            なお、改描の方は「原図を改ざんする」話なので上記の件と別の問題です。
            現在でも確認できる代表例として、国会議事堂前駅周辺で東京メトロの地図と国土地理院の原図が異なっている、というものがあります。
            # 千代田線と丸の内線
            # 東京メトロでは2点交差だが原図では交差せず
            # 東京メトロは保守等で正確な地図が必要なはずです
            原図の作成・管理は本来であれば軍直轄で行う性格のものなのですよね。

            # ますますオフトピですが書かないのも尻切れトンボなので
            --
            ---- 何ぃ!ザシャー
            親コメント
        • 地図が他国に漏れたときに攻撃目標となる重要拠点を知られる危険性があるからだとか。

          地図は敵国から買おう。

          もはやなにが正しいかわからないな。

      • 地図なんかでは、わざとミスを仕込んでおくそうですね。
        「げ・めしや」のことでしょうか?
    • >Readme.txtに「このコードには再利用されたことがバイナリからでも
      >確実にわかるしかけが作り込まれております」とでも書いておけば、
      >内容も理解せずに盗用しようという輩は減るのではないですかね?
      >実際には何もしていなくても、です。

      多分・・・・
      内容を理解せずに盗用する輩は、そんなに熱心にReadme.txtを
      読まないので気づかれないのではないかと・・・・
      親コメント

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

処理中...