-
Notifications
You must be signed in to change notification settings - Fork 1
The shareware maker for Win32
License
katahiromz/MShareware
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
(Japanese, UTF-8)
# MShareware
## これは何?
MShareware は、C++/Win32 のシェアウェアを楽に作るためのフレームワークです。
## 使い方
1. 次の 5 つのファイルをプロジェクトフォルダに追加して下さい。
- MShareware.cpp
- MShareware.h
- MShareware.rc
- MSha256.cpp
- MSha256.h
2. MShareware.cpp、MShareware.rc、MSha256.cppの3つのファイルをプロジェクトに追加して下さい。
CMakeでプロジェクトを管理しているのであれば、CMakeLists.txt の add_executable にこの3つのファイルを追加して下さい。
Visual C++でプロジェクトを管理しているのであれば、プロジェクトに既存の項目としてこの3つのファイルを追加して下さい。
3. ファイル MShareware.rc の中の"TODO:"項目を修正して下さい。
4. salt文字列と 8 文字以上のパスワード文字列を思い浮かべて下さい。どちらもなるべく不規則な文字列にして下さい。
※ salt文字列は、パスワード以外にハッシュのパターンを変化させる調味料のようなものです。パスワードが少し短くても、saltが充分複雑で長ければ、解析が難しくなります。
5. MSha256.exe により、salt 文字列に対して、パスワードに対応するハッシュ文字列を取得して下さい。
例えば、salt 文字列が空文字列で、パスワードが "test" ならば、ハッシュ文字列は
"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
になります。
(MSha256.exeの実行例)
Enter 'exit' to exit.
Enter salt string:
Enter password: test
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
{0x9f, 0x86, 0xd0, 0x81, 0x88, 0x4c, 0x7d, 0x65, 0x9a, 0x2f, 0xea, 0xa0, 0xc5, 0
x5a, 0xd0, 0x15, 0xa3, 0xbf, 0x4f, 0x1b, 0x2b, 0x0b, 0x82, 0x2c, 0xd1, 0x5d, 0x6
c, 0x15, 0xb0, 0xf0, 0x0a, 0x08, }
Enter password: exit
6. #include "MShareware.h"をメインのソースファイルに追加して下さい。
#ifndef NO_SHAREWARE
#include "MShareware.h"
#endif
7. クラス MShareware の g_shareware という名前のグローバル変数の定義を次のように追加して下さい:
#ifndef NO_SHAREWARE
MShareware g_shareware(
/* application registry path */ TEXT("SOFTWARE\\MyCompany\\MyApp"),
/* password hash */ "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
/* trial days */ 15,
/* salt string */ "",
/* version string */ "");
#endif
- 第1引数は、アプリが使用するレジストリキーのパスです。MyCompanyに英語のあなたの会社名、MyAppに英語のあなたのアプリ名を指定します。
- 第2引数は、パスワードのハッシュ文字列です。
- 第3引数は、試用期間の日数です(省略可)。
- 第4引数は、salt文字列です(省略可)。
- 第5引数は、アプリケーションの現在のバージョンを表す文字列です(省略可)。
バージョンは、バージョンアップ時の試用期間の延長に使われます。延長しないときは、常に空文字列を指定して下さい。
8. 次のようなコードをアプリケーションの始まりに追加して下さい。ウィンドウ ハンドル hwnd がなければ NULL でも構いません。
#ifndef NO_SHAREWARE
if (!g_shareware.Start(hwnd))
{
// 失敗。アプリケーションを終了する。
...
}
#endif
9. 機能制限したい機能の実行の直前に次のようなコードを追加して下さい。
#ifndef NO_SHAREWARE
if (!g_shareware.IsRegistered())
{
g_shareware.ThisCommandRequiresRegistering(hwnd);
if (!g_shareware.UrgeRegister(hwnd))
{
// 機能を実行しない。
return;
}
}
#endif
10. ビルドして下さい。あなたのシェアウェアが出来上がります。実際に使ってみて試してみて下さい。
11. 好きなように MShareware.rc を改良して下さい。
12. アプリ内で保護すべきデータ資産を付属のMBlowfishとパスワードなどを使って暗号化・復号して保護して下さい。
## 注意
- 最初の起動時には、「ライセンス キーの登録」ダイアログが表示されません(デフォルト)。
- デバッグ版(Debug)を配布してはいけません。リリース版(Release)を配布して下さい。
- 配布前に、ちゃんと実機か仮想マシンでテストしましょう。
- 販売促進のため、幅広い顧客の目を引き付け、購入へ誘導する工夫をしましょう。
## 連絡先
何かございましたら、片山博文MZ(katahiromz)までご連絡下さい。
- メール katayama.hirofumi.mz@gmail.com
- ホームページ http://katahiromz.fc2.page/
About
The shareware maker for Win32
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published