16/06/05 17:09:49.50 4NksGubY.net
かなり無理矢理だけどWin7標準コマンド(実際にはWinXP以降で実行可能)だけでやるなら
1. fsutil file createnew コマンドを使って16進ダンプしたいファイルと同じサイズのファイルを作る
たとえば16進ダンプしたいファイルが1024バイトのファイルなら
fsutil file createnew temp.dat 1024
を実行して同じ1024バイトのtemp.datを作る
fsutil file createnew は値を指定して任意のサイズのファイルを作成できて中身は全部0x00の詰まったファイルになる
NTFSパーティション上なら巨大なファイルもほぼ一瞬で作成できる
参考 URLリンク(www.atmarkit.co.jp)
2. fc /b で16進ダンプしたいファイル(仮にa.txt)と1.で作ったファイルをバイナリ比較する
fc /b a.txt temp.dat
00000000: ** 00
00000001: ** 00
00000002: ** 00
・・・
のように
一行ずつ「オフセット: 目的のファイルの16進ダンプ 00」と表示されて一応16進ダンプが得られる
fc /b a.txt test.dat > result.txt
のようにリダイレクトすればresult.txtに結果を保存できる
16進ダンプしたいファイルがテキストファイルなら中に0x00が含まれていることもないだろうし
仮に0x00が含まれているバイナリファイルの場合でも
0x00が含まれているオフセットがバイナリ一致して飛ばして表示されるので
0x00が含まれている位置は判別できる