ソフトウェアのシリアルナンバーを埋め込む方法

このQ&Aのポイント
  • ソフトウェアのシリアルナンバーを埋め込む方法について調べています。シリアルナンバーを直接ソースに書く方法や標準モジュールを追加する方法などがありますが、効率的に大量の実行ファイルに適用できる方法を知りたいです。
  • VB6アプリでソフトウェアのシリアルナンバーを埋め込む方法について質問です。シリアルナンバーをソースに直接書く方法や標準モジュールを追加する方法は理解していますが、より効率的に大量の実行ファイルに適用できる方法を教えていただけると嬉しいです。
  • VB6アプリでソフトウェアのシリアルナンバーを埋め込む方法について質問です。ソースに直接書く方法や標準モジュールを追加する方法は考えたのですが、大量の実行ファイルに対応するのが難しそうです。効率的にシリアルナンバーを埋め込む方法を教えていただけませんか?
回答を見る
  • ベストアンサー

ソフトのシリアルナンバーを埋め込む方法

お世話になります。 ソフトのシリアルナンバーを実行ファイルに埋め込むには、一番簡単にはソース(frmファイル)に直接書くことだと思います。 (念のため書くとイメージ的にはワープロの差込印刷のようなことです) でもこれだとシリアルナンバーの数だけソースも増えていきますよね。 するとバグ修正や機能追加などでソースを変えたのと区別がつきません。 それで、シリアルナンバーを設定するだけの標準モジュールを追加することを思いつきました。 こうすると、実行ファイルはシリアルナンバーの数だけ存在しますが、ソース(frmファイル)のタイムスタンプは変わりません。 しかし、上記の方法だと10本程度ならともかく何千何万本もの実行ファイルを作るには現実的ではないと思います。 そこで質問ですが、この方法以外にシリアルナンバーを実行ファイルに埋め込む定番の方法があると思うのですが、どのように埋め込んでいるにでしょうか? こちら、半分趣味半分仕事でVB6アプリを作っている者です。 よろしくお願いします。

  • paonta
  • お礼率85% (581/681)

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.4

パッケージ固有であることは確かですが、通常は(パッケージソフトの場合)インストール時にユーザーが入力します。 憶測ですが、その番号そのものはインストールメディアに記載されていないと思います。 (複数のチェックデジィットの組み合わせで、チェックしているだけじゃないかと思います。) そのためアクティベーションという行為を行わせる流れになったんじゃないかと思います。  OEMの場合は、、、 自分で調べてください。 

paonta
質問者

お礼

再度のご回答ありがとうございます。 はい、私が難しく考えすぎていたようですね。 機会ありましたらまたご教授よろしくお願いします。

その他の回答 (3)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

まず「シリアルナンバー」についてですが、製造番号-製品ごとに固有の番号で、ソースに埋め込むことはしません。(チェックデジットを判定するロジックを組み込むことはあります) http://ja.wikipedia.org/wiki/%E8%A3%BD%E9%80%A0%E7%95%AA%E5%8F%B7 登録するとすれば、インストール時にレジストリなどに登録するのが理想的。 レジストリがめんどくさければ、テキストファイルなどに書いておく手もありますが、簡単に書き換えられたり削除されたりする可能性があります。 バグ修正や機能追加に関しては、通常バージョン番号で管理します。 [プロジェクト]の[「プロジェクト名」のプロパティ]の[実行可能ファイルの作成]タブで設定してコンパイルすることにより、設定できます。

paonta
質問者

補足

>まず「シリアルナンバー」についてですが、製造番号-製品ごとに固有の番号で、ソースに埋め込むことはしません。 もしかして、ここが私の大きな勘違いでしょうか? http://ja.wikipedia.org/wiki/%E8%A3%BD%E9%80%A0%E7%95%AA%E5%8F%B7 では、次の記述があります。 --------------引用開始-------------------- プロダクトIDとは、商用ソフトウェアに付属している、各パッケージごとに固有の番号。メーカー側での登録ユーザの管理に用いられるほか、不正コピー防止のために、ソフトのインストール時にユーザにシリアルナンバーの入力を要求し、適切な番号が入力できなければインストールできないようになっている。 --------------引用終了-------------------- 私の理解ではオフィスならオフィスのCDごとにユニークな番号が付いているとものと思っています。 今、エクセルを開いて「ヘルプ」-「バージョン情報」とすると、「プロダクトID:*****-***-*******-*****」が表示されますが、これがエクセルごとのユニークな番号だと思っています。 と、ここまで書いてきてやっと気がついたのですが、プロダクトIDはEXEとは別のファイルに何らかの形で書かれていて、それをインストーラが読み取ってレジストリに登録しているということでしょうか?

  • equinox2
  • ベストアンサー率48% (321/660)
回答No.2

リソースファイルではダメですか? #改竄防止だと単なるシリアル番号ではなく、独自のルールで #番号の正当性をチェックする必要がありますが・・ http://www.geocities.jp/okaway03170507/oka1610.htm

paonta
質問者

補足

あ、確かにリソースでもソフトごとにユニークな番号を埋め込むことができると思います。 でも素朴な質問ですが、自動でユニークな番号を設定することができるんでしょうか? 「ユニークな番号を設定 → EXE作成」の繰り返しを自動で行うということです。 もしかしたら、自分はここで大きな勘違いをしているのかもしれません。。。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

言っていることが良くわからない、質問文は、自分流の表現ガ多いと思うが。 プログラムを終了すると、次回そのプログラムで実行時には番号でもデータでも、テキストファイルに、その都度今使った番号などを書き出し、次回の処理の時に、そのテキストファイル(連番の場合は、中身は数字1レコード)を読んで、+1したものを付番に使う。(または、連番の場合は次にそのまま使えるように+1して、ファイル保存しておく。) OSなどに、恒常的な、取り決めらられた、データ(連番)保存エリアが無い以上、自分で保存したファイルを作るしかない。 全ての本格的ソフトは、設定内容ようなデータで持っているのではないかな。ウインドウズのレジストリなども大きく言えば、その類かと思う。 質問はこういうことですか?

paonta
質問者

補足

質問の仕方が下手くそですみません。 ソフトの一本ごとが持っているユニークな番号をどうやって、実装しているのか知りたくなって質問させていただきました。 今、調べたらプロダクトIDともいうのですね。 http://e-words.jp/w/E38397E383ADE38380E382AFE38388ID.html

関連するQ&A

  • シリアルナンバーがわからない

    シリアルナンバーがわかる方法ありますか? Ver22なんですが・・ ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • シリアルナンバー

    筆まめVer.31のアップグレード版を買いました。インストールしたのですが、シリアルナンバーを間違えてVer.30のナンバーを入れてしまいました。Ver.31を開いてもVer.30ですと出てしまいます。変更はできないですか?買い替えるしか方法ないでしょうか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • シリアルナンバー確認方法

    質問失礼致します。 2019年の筆まめVer.29ベーシック基本版からユーザー登録をしましてマイページの製品登録を行う為に、バージョン情報よりシリアルナンバーを確認したところ未登録なのですが、パッケージ参照以外にシリアルナンバーを確認する方法は無いですか? また、シリアルナンバー無しで宛名住所の引き継ぎは出来ますか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • シリアルナンバー

    筆王ver24を新しいパソコンに引っ越しさせたいのですが、買った時の箱とか何もなく、DVDだったのか、ダウンロードだったのかも覚えていません。私の古いパソコンの中には確かにあるのに。シリアルナンバーもわからないのですが、何か方法はないでしょうか。住所録を打ち込むのも大変です。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • シリアルナンバーが未知のエラー200と出る

    ソースネクストでスーパーセキュリティを追加購入しました。スマホに ダウンロードする際にシリアルナンバーを入力すると未知のエラー200と 出て先に進めません。どうしたらいいですか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • 旧バージョンのシリアルナンバーが不明に

    ソースネクストのウイルスセキュリティゼロ(無期限版)を購入し、旧バージョンを削除しました。そして新バージョンをインストールしようとしているのですが旧の方のシリアルナンバーを聞いてきます。手違いで旧バージョンのシリアルナンバーを紛失してしまいました。 何か方法があれば教えてください。

  • シリアルナンバー または パスワード

    V.18を使っていますが、誤ってPCのデータを消去してしまいました。再びインストールしたいのですが、購入時のパッケージに記載されていたシリアルナンバーまたはパスワードが分かりません。再インストールの方法を教えてください。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • panasonic SD Juke Boxのシリアルナンバーがわからず困ってます。

    こんばんは。 panasonic SD Juke Boxのソフトのみを譲ってもらったのですが、インストール時シリアルナンバーを入れなければならず、箱や説明書などがない為わからず困っています。 箱や説明書など無しにシリアルナンバーを知る方法ってあるのでしょうか? 色々ファイル等を開けてみましたがよくわかりません。 というかやっぱりシリアルナンバーを入れないと使えないですよね…? 困っているので宜しくお願いします。

  • ジャパネット購入のシリアルナンバー

    スーパーセキュリティは登録出来ましたが、使い放題サービスのシリアルナンバーが登録出来ません。 方法が知りたい。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • インストール済み『Adobe Acrobat』のシリアルナンバーを調べる方法

    職場にて『Adobe Acrobat』がインストールされているPCがあるのですが、人事異動やらPCの更新やらが、長年積もり積もって現在どのPCがどのCD(シリアルナンバー)を使用しているのかが解らなくなっていて困っています。 実際にあるCDの数よりインストールされているマシン台数の方が少ないのですが、どのCDキーが空きなのかも解らない状況です。 既にインストールされている『Adobe Acrobat』のシリアルナンバーを知る方法、または直接シリアルナンバーが解らなくても、どのマシンがCDを使用しているのか解る方法があれば教えて下さい。 MS社製品の様にフリーソフトで調べる方法でも結構です。 因みに、ユーザ登録はしているものしていないものバラバラでこれを手がかりにする事が出来ません。 1台1台インストールし直しするには台数が多すぎて余りにも非効率的な為(最悪、時間をかけてそうするつもりですが…)、ご教示の程、宜しくお願い申し上げます。

専門家に質問してみよう