このコンテンツでは、キーディスクチェックに関する情報を公開しています。 (いわゆる、ゲームの起動時に表示される「**のCDを入れてください」のやつですね)。 当項目の資料を参考にし、自作ソフトにCDチェック処理を組み込むことも出来ますし、 逆に市販ソフトのCDチェックルーチンを外してしまうことも可能です。 ただし、悪用すると犯罪です(不正競争防止法違反)。 個人使用目的以外に用いた場合、当方は一切の責任を負いかねます。 また、Alpha-Rom・SafeDiscといった複製を禁止するためのプロテクトもしくは 暗号を解読する行為も違法である可能性が高いため扱いませんのでご了承ください。 当項目の資料は「ある程度プログラム改造を理解できている方」を対象としています。 まだまだ理解する自信に欠ける方は改造講座の閲覧をオススメします。 なお、Check No.01以降のアーカイブには、以下のファイルが含まれています。
(まぁ、こんな安っぽいものを組み込む人は居ないと思いますが…(苦笑)) ちなみにソースはVisualC++用ですが、Borlandで配布されているフリーのコンパイラである、 「Borland C++ Compiler 5.5」でも使用可能みたいです。 ちょっとだけ注意書き作者は一切の責任を負わないものとします。 万が一のことを考え、バックアップを取っておくことも忘れないようにしましょう。 あと、「プログラムコーディングが下手、C++ソースが汚い」というツッコミも勘弁してください(汗 |
Check No.00 (1,161Byte) |
CDチェックとキーディスクチェックの違いを簡単にまとめたテキストです。 |
Check No.01 (16,883Byte) GetVolumeInformation |
ドライブ種類取得用の GetDriveTypeA と、ボリュームラベル判定用の GetVolumeInformation を組み合わせたディスクチェックです。 ほんの十数行のコードで作成できる、ごく単純なものです。 |
Check No.02 (17,386Byte) FindFirstFile |
ドライブ種類取得用の GetDriveTypeA と、ファイル存在判定用の FindFirstFileを組み合わせたディスクチェックです。 こちらもNo.01と同じく、よく見かけるタイプですね。 |
Check No.03 (15,881Byte) CHECK |
内容は、No.01のボリュームラベル判定式と同じものですが、 ディスクチェック処理のルーチンを別関数にしてあります。 コール処理の除去と周辺のフラグ数値の変更方法を学べます。 |
Check No.04 (16,841Byte) CreateFileA |
ディスクチェックと同時に、キーディスクから必要なファイルを 読み出す場合はこの形式の場合があります。 まぁ、不要でもこのWinAPIを使う場合もありますが…。 |
Check No.05 (14,789Byte) GetPrivateProfileString |
キーディスク内のINIファイルから情報を読み込む形式です。 この類のディスクチェックの場合、分岐処理の書き替え以外の 手法が要求されます。 |