まりふのひと

ファイルの内容をバイナリ―ダンプ(16進ダンプ)したい

@IT の「ファイルの内容をバイナリ・ダンプで確認する

主な制約は次の通りである。
 ・扱えるファイルのサイズはせいぜい64Kbytesまで
 ・8.3形式の短いファイル名しか扱えない
 ・ファイル・サイズやオフセットの表示はすべて16進数で行われる
を参考に作成しました。

例えば、

  1. メモ帳を起動し、
  2. “aiueo”と入力し[Enter]キーを押す。更に、“aiueo” と入力する。
  3. デスクトップに名前を付けて保存し、
  4. 閉じる。

これの16進ダンプリストを WindowsXPで取得したのが下記。

Microsoft (R) KKCFUNC バージョン 1.10
Copyright (C) Microsoft Corp. 1991,1993. All rights reserved.

KKCFUNC が組み込まれました.

マイクロソフトかな漢字変換  バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993
-d
2CDD:0100  61 69 75 65 6F 0D 0A 61-69 75 65 6F 00 00 00 00   aiueo..aiueo....
2CDD:0110  00 00 00 00 00 00 00 00-00 00 00 00 34 00 CC 2C   ............4..,
2CDD:0120  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CDD:0130  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CDD:0140  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CDD:0150  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CDD:0160  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CDD:0170  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-q
C:\DOCUME~1\YBAF8~1.HAY\デスク~1>^A
C:\DOCUME~1\YBAF8~1.HAY\デスク~1>

手順(WindowsXP

メモ帳に入力した内容を、デスクトップに aiueo.txt で保存した。

  1. コマンド プロンプトを起動。
    → C:\Documents and Settings\Y.Hayashi>
  2. cd デスクトップ8
    • 日本語入力は、[Alt]+[半角/全角]でオンにした。
  3. dir *.txt 8
    • aiueo.txt が在るのを確認したもの。12byte だった。
  4. debug aiueo.txt 8
  5. d 8
    • dump のd
  6. q 8

得られた結果が、前述の内容。

debug コマンドの使い方

  • debug /? の結果
C:\DOCUME~1\YBAF8~1.HAY\デスク~1>debug /?
プログラムのテスト/編集ツールであるデバッガを起動します.

DEBUG [[ドライブ:][パス]ファイル名 [テストファイル-パラメータ]]

  [ドライブ:][パス]ファイル名
                   テストするファイルを指定します.
  テストファイル-パラメータ   テストするファイルが必要とするコマンドライン情報を
                   指定します.

DEBUG 起動後に, ? を入力するとデバッガのコマンド一覧が表示されます.
  • コマンド一覧
-?
アセンブル        A [アドレス]
比較          C 範囲 アドレス
ダンプ         D [範囲] (表示モード変更は, KA - ASCIIダンプ, KK - 漢字ダンプ)
入力          E アドレス [リスト]
埋め込み      F 範囲 リスト
実行          G [=アドレス] [アドレス]
16 進数計算   H 数値1 数値2
入力          I ポート
読み込み      L [アドレス] [ドライブ] [先頭セクタ] [数値]
移動          M 範囲 アドレス
名前付け      N [パス名] [引数リスト]
出力          O ポート バイト値
続行          P [=アドレス] [数値]
終了          Q
レジスタ操作   R [レジスタ]
検索          S 範囲 リスト
追跡          T [=アドレス] [数値]
逆アセンブル      U [範囲]
書き込み      W [アドレス] [ドライブ] [先頭セクタ] [数値]
EMSメモリの割り付け             XA [ページ数]
EMSメモリの割り付け解除         XD [ハンドル]
EMSページのマップ               XM [論理ページ] [物理ページ] [ハンドル]
EMSメモリステータスの表示            XS