• 締切済み

シェアウェアの作り方

以前ソフトウェアを公開しようと思ってソフトウェアを作っています。シェアウェアを目標に作っています。でもどうやって試用版の機能制限や登録用フォームを作ったらいいのかわかりません。だれか教えて下さい。

みんなの回答

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.3

原理的には同じことですが、チェックデジットの桁が少ないとまぐれ当たりに可能性が高くなります。また、スクランブルの方法としてEXORを使ったものは、比較的推測しにくいものです。 サンプルとして16進4桁のシリアルを発行したり、試験するプログラムを書きました。 #include <stdio.h> #include <stdlib.h> #define CRYPT 0xdeadface int serialchk(int32_t serial) { int16_t upper, lower; serial ^= CRYPT; upper = serial >> 16; lower = serial & 0xffff; return(upper == lower); } int32_t mkserial(int16_t lower) { int32_t serial; serial = lower << 16 | lower; serial ^= CRYPT; return (serial); } char *prog; void usage(void) { fprintf(stderr, "%s m|t strings\n",prog); fprintf(stderr, "\tm: make key\n"); fprintf(stderr, "\tt: test key\n"); fprintf(stderr, "\tstrings: hex-dec number\n"); exit(1); } int main(int argc, char *argv[]) { int serial; prog = argv[0]; if (argc < 3) { usage(); } sscanf(argv[2], "%x", &serial); switch(argv[1][0]) { case 'm': serial = mkserial(serial & 0xffff); printf("%08x\n", serial); break; case 't': printf("%s\n", serialchk(serial) ? "OK":"NG"); break; default: usage(); } return 0; }

  • beryl89
  • ベストアンサー率19% (8/41)
回答No.2

シリアルでしたか そうですね。簡単なものでよければですが。。。 今回は数字だけを使うものとします。(文字列でも考え方は同じようなものです。 まずはじめに適当な数字を決めます。 通し番号でも良いし日付を使うのも良いです。 今回は日付を使いましょう。 2005年12月11日18時46分(現在時刻) これを「200512111846」という数字にします。 次にこれらの数字一つ一つに適当な数字をかけていきます。 2 0 0 5 1 2 1 1 1 8 4 6 * * * * * * * * * * * * 5 7 1 4 9 7 0 2 0 4 6 2 こんな感じです。これらを計算していくと 10,0,0,20,9,14,0,2,0,32,24,12となります。(たぶん) これらの数字を足していきます。 すると123となります。(きれいに並んでますねw これを9で割ってあまりを出します。 6になります。(たぶん) そしたら最初に作った数字「200512111846」の後ろでも前でも好きなところに入れます。今回は前に入れることにしましょう。 「6200512111846」 これがシリアルキーとなります この6はチェックサムといいシリアルキーがあっているか否かを調べるのに使います。 つまりプログラム側で「200512111846」を元にチェックサムを作って入力されたものと同じならばそれは正しいと判断します。 しかし違えばそれは偽者だということです。 文字列を使う場合はそれぞれの文字を数字に変換すればいいのです。 aなら1Bなら2というかんじで 最初にチェックサムは何文字目に入れるのか(通常は一番最初か最後) 各数字に書ける数 これらを決めておけば結構簡単にできるのではないかと思います。

itotaku
質問者

お礼

長文での説明ありがとうございます。いろいろと参考になることがありました。これを活用してみたいと思います。

  • beryl89
  • ベストアンサー率19% (8/41)
回答No.1

機能制限はその機能を使おうとしたときに登録が済んでいるかどうか確認して、していなければ止めるなりすれば良いです。 フォームってどっちのフォームですか?Web?それともプログラム? プログラムならテキストボックスを一つ入れれば良いでしょう。 Webでも同じなわけですが必要事項を書き込むテキストボックスをつければ良いだけです。 個人的にはメールのほうがらくだと思いますがね それとも仕組み(シリアルキーなど)についての質問ですか? 質問の仕方からしてこのようなことだと思ったのですが

itotaku
質問者

お礼

質問の仕方がわかりにくかったようですね。すみません。これはシリアルキーについての質問です。早速のご回答ありがとうございます。

関連するQ&A

  • 自作ソフトのシェアウエア化について

    現在、自作のソフトを機能制限版としてフリーで公開しています。 これを機能制限をはずした状態で、シェアウエアとして公開したいと思うのですが、 試用期間を設定する方法がわかりません。 インストール後30日が経過すると代金を振り込むまでは動かなくする、 みたいな要件を実現するにはどのように実装すればよいでしょうか。 ご存じの方はご教授願います。 参考になるサイトを教えて頂けるとありがたいです。

  • シェアウエアについて

    パソコンはまだまだ初心者で是非教えてください。 あるサイトから、シェアウエアをダウンロードしインストールしました。そのサイトの説明では、以下、コピペです。(これはちなみにネチケ違反ですか?) 「シェアウェアは、使い続ける場合には作者の定める対価を支払わなければなりませんが、ダウンロードして試用するだけならばその必要はありません。必ず十分に試用して自分のパソコンできちんと動くこと、自分の必要とする機能が使えることを確認してから支払いをしてください。」 とあり、そう理解したのですが、いざ、そのソフトを使ってみようとすると、「ユーザー登録しないと使えません。解除キーを持っていれば入力」と指示が出ます。 これは料金を支払わなければユーザー登録ができず、解除キーをもらえないということでしょうか?「自分のパソコンできちんと動くか試用」とあってもその確認ができません。シェアウエアとはどういう性質のものですか? ぜひお教えください。お願いします。

  • シェアウエア試用に関する疑問

    ベクターにて欲しいソフト(シェア)があったのでDLしてインストールしたのですが、ヘルプを読んでの疑問です。 試用期間→無制限 試用制限→なし 十分に試用して、正式登録にふさわしいと思ったら送金してくださいと書いてあるのですが、試用制限もないのでこのまま普通に使用できるのです。 シェアウエアなのにこのまま使用してても良いものなんでしょうか?

  • シェアウェアの試用制限のかけ方

    visualbasicでソフトを作って、シェアウェアとしてベクターにだしたいと思いますが、ネットでどんなに調べても試用制限のかけ方がわかりません。誰かわかる方教えてください。参考になるページでもいいです。お願いします。

  • シェアウェアや体験版について

    シェアウェアで試用期間、試用回数制限があるものってありますよね、あれはどうやって残り期間、回数のカウントをとっているんですか?そういう情報を記録するファイルがあるのでしょうか?ソフトを制作してみたいので、そういう仕組みを詳しく教えてほしいです。

  • どんな言語でシェアウェアは作られていますか?

    Vectorなどで個人が作成し、シェアウェアで公開されているWindowsXP用のソフトは、どんな言語や環境でで作られているものが多いのでしょうか? .NETですと、簡単に逆アンセンブルされてしまい、シェアウェア向きではない気がしています。

  • 一度消した試用可能シェアウェアを復元できるか?

    一度消した試用可能シェアウェアを無料で復元できますか。 わたしが寝ているうちに、シャアウェアが消えていました。とっても悲しいです。以前まで3000円程度かけてシェアーをダウンロードしたのに。いまは消えています。AceSpeeder!は残っていますが・・・

  • シェアウェアを公開できるサイト

    こんにちは。 ご覧頂きありがとうございます。 顧客管理システムを開発しました。 シェアウェアとして公開しようと思っており、一番有名と思われるベクターには登録申請しました。 質ですがベクター以外によく利用されているシェアウェア配布サイトはどこかありますか?という事です。 検索すれば出てくるのは分かっていますが、この業界に詳しい方がよく利用されているサイトを知りたいのです。

  • シェアウエアはアルバイト?

    このカテゴリでよいか微妙なのですが質問させていただきます。 副業禁止の会社で働きつつ家ではプログラムを作成し 「フリーソフト」として公開していたのですが ある会社が私のソフトを社内で利用したいので 正式なサポートを受けたい。ということで 「シェアウエア」にしてほしいと言ってきたのです。 そのときなのですが「シェアウエア」で得た収入というのは アルバイトと同一と見なされるのでしょうか? インターネットで調べても 「確定申告ができるシェアウエア」 が引っかかるばかりです。 どうかよろしくお願いします。

  • シェアウェア登録の手数料はいくら?

    Vectorにシェアウェアを登録する場合、ソフトウェア制作者はどの程度の手数料などをVectorに支払うことになるのですか?

専門家に質問してみよう