SCANKEY プロダクトキースキャンツール

Copyright (C) [2001/7], [2010/12] by Akinori Furuta.

■ ご利用ありがとうございます

KNOPPIX(Linux) で動作し、検索速度が早くなって、Windows 2000 以降の 25 桁キーに対応した scankeylx を公開しました。ただし、USB 接続の記憶装置が必要だったり、256Mbyte のメモリが必要だったり、実行環境に対するスペックが高めです。

SCANKEY.EXE はハードディスクに保存されたプロダクトキー(ProductKey) とプロダクトID (ProductID) を探し出すツールです。Windows などのインストールに必要なキーを忘れてしまった時に便利なツールです。

SCANKEY を使うと、 ただし、 という具合です。

■ 展開内容

SCNK110.LZH を解凍すると次のファイルが作成されます。実行ファイルをソースコードから構築する必要がない場合は SCANKEY.EXE を残し他は消してもかまいません。

SCANKEY.TXT このファイル
SCANKEY.EXE 実行ファイル
SCANKEY.C ソースコード C 部分
SCNKFMEM.ASM ソースコード アッセンプラ 部分
CPU.H ソースコード ヘッダファイル
SCANKEY.IDE Borland C++ 5.0 用プロジェクトファイル
SCANKEY.MAK コマンドライン用 MAKEFILE

■ 使用可能な環境

CPU 80386 に互換の有るプロセッサ
Windows95, Windows98, Windows98SE が動作するならば問題ありません。

ハードウエア/BIOS IBM PC/AT 互換機
IDE インターフェース または INT 13H をエミュレート できる SCSI インターフェースを装備している必要があります。 SCSI の場合は BIOS、デバイスドライバどちらの エミュレーションでも有効です。

LBA モードと CHS モードに対応しています。
OS MS-DOS v3.x 以降
Windows95, Windows98, Windows98SE の 「MS-DOS モード で再起動」または 「Command prompt only モード」で使用可能な MS-DOS 互換モード

DOS プロンプトモード(DOS 窓)での使用は推奨しません。
MEMORY コンベンショナル領域を 200Kbyte 程度使用します。
対象ディスク
・IDE ディスクドライブ
転送モードは何でも構いません。
LBA モード、CHS モードとも対応しています。
・SCSI ディスクドライブ
デバイスドライバ または Windows ドライバで INT 13H エミュレーションがされている。

■ 早速使用する

次のようにして使います。引数に渡す番号はディスクユニット番号です。大抵の PC/AT 互換機では 0 - 3 の間です。
>SCANKEY 0
増設したディスクや SCSI ディスクをスキャンしたい場合は、まず
>SCANKEY /L
でディスクユニット番号のリストを表示してください。リストの数字は恐らく次のようになっています。
00 - 03 IDE ディスクです。起動優先順位を SCSI と入れかえるなどしてい なければ 次のようになっていることが多いはずです。
00 Primary Master
01 Primary Slave
02 Secondary Master
03 Secondary Slave
04 - 7F SCSI ディスクドライブまたは PCI I/F 等に増設した IDE ディスク ドライブです。

■ コマンドラインの詳細

コマンドラインの書式はオプションも含め次のようになっています。
>SCANKEY disk-unit-number [/L] [/Olba[%]] [/H]
disk-unit-number ディスクユニット番号です。00-7F の 16 進数で指定します。 指定したディスクに対するアクセスは READ 限定ですので 内容を破壊することはありません。
/C 強制的に CHS モードでアクセスするようにします。8.4Gbyte 未満のハードディスクでスキャンできない場合は試してみてください。 通常は自動認識します。

※ CHS=Cylinder Head Sector の略です。
/L ディスクユニット番号のリストを表示します。
/Olba[%] スキャンを開始する LBA (セクタ番号) を指定します。 スキャン中読みこみエラーが発生してどうしても 先に進まない場合に指定します。例えば、
/O1000
ならばセクタ番号 1000 よりスキャンします。このように スキャン開始位置を指定した場合、セクタ番号 0 から、 指定した位置までのスキャンは後回しにされます。 図で示すと 0 -> 1 -> 2 -> 3 の順でスキャンされます。
      LBA=0      LBA=1000                  LBA=Last
      |---------->End|Start------------------>|
      2 - - - - - > 3 0 - - - - - - - - - - > 1
また、% を付けることでパーセント単位で開始位置を指定 できます。ただし、% の計算精度はそれほど 高くしていません。例えば、
/O50%
のようにします。
/H 簡単な使用説明を表示します。/? でも代用できます。

■ 出力を保存する

スキャンした結果はかなり多く出力されるので、次のようにファイルにリダイレクトして保存することを勧めます。ただし、保存先はスキャン中のディスクドライブと別にするかフロッピーディスクなどにして下さい。
>SCANKEY 0 > A:\SCANLOG
リダイレクトしてもなお画面の表示は行われます。SCANKEY.EXE はリダイレクトされていることを検出すると、標準出力(リダイレクト可)と標準エラー (リダイレクト不可)の両方に結果を表示します。
標準出力(リダイレクト先)にスキャン中の位置や速度を示すステー タス表示は送り込みません。より見やすいフォーマットでリダイレクト 先には保存されます。

■ 途中停止

スキャンを途中停止するには [ESC], [Q], [q], [SPACE] のいずれかを押します。続けるかどうか聞いてきますので、続けるならば [Y], [y], または [Enter] を押します。停止するならば [N], [n] を押します。
アクセスエラーがある場合は、多少キーの反応が悪くなります。

■ DOS 窓での使用

SCANKEY.EXE を DOS 窓で使用するのは推奨しません。Windows を不安定にする恐れがあります。開発中は DOS 窓で立ち上げてテストランもしているのですが、なるべく通常のファイル読み書きをしないようにするなど細心の注意を払って使っています。

■ ビルド

ソースコードから実行ファイルを組み立てるには次のツールを必要とします。 これらのツールが揃ったならばツールを起動できるように PATH 環境変数を設定するか、SCANKEY.MAK ファイルを修正し、make から実行できるようにして下さい。修正が必要なマクロ変数は次のとおりです。

BCC Borland C++ 5.0 (BCC.EXE 16Bit コードコンパイラ) のパスを指定して下さい。
TLINK Borland Turbo Linker のパスを指定して下さい。
TASM Borland Turbo Assembler のパスを指定して下さい。
LIB_PATH Borland C++ 5.0 のライブラリパスを指定して下さい。 CS.LIB, C0S.OBJ を探します。
INCLUDE_PATH Borland C++ 5.0 のヘッダファイルパスを指定して下さい。

SCANKEY.MAK ファイルの修正が終わったならば、次の様にして MAKE を起動します。警告オプションを変更していなければ、無警告でリンクまで終了するはずです。
>make -f scankey.mak
無事 make が済むと SCANKEY.EXE, SCANKEYD.EXE の 2 つの実行ファイルが完成します。SCANKEYD.EXE はデバック情報を含んだバージョンです。Turbo Debugger を利用できればソースレベルデバックが可能です。

■ ソースコード

特に注意することはないのですが若干のヒントを示します。

■ 改訂記録

1.00 -> 1.01 スキャン速度の表示を 1024*1024 単位ではなく 1000000 単位に変更しました。
1.01 -> 1.10 CHS モードに対応しました。

■ 利用規定等

作者 古田明徳 は SCNK101.LZH に含まれる内容に関して次の様に規定します。

■ 商標等

本文中に現れる製品名あるいは商標はその権利所有者による登録商標です。

■ なにかありましたら

まで連絡頂ければ幸いです。利用規定にも有りますように対応が悪い可能性もありますが、対応に当たりたいと思います。

以上

		戻る