ふるた技工所(てっこうしょ)

2020/08/13(木)01:14

サルベージした MO の文字化け - 単純なビット誤りではなさそう

ソフト開発日誌(882)

MO ドライブを HARD OFF で見つけて、手持ちの MO メディアをサルベージしてみた。ディレクトリが不思議な文字化けをする。次は化け方の例だ。DOS で扱いが難しいのでファイル名に入った空白は '_' で置き換え、コントロール・コード、使えない文字は置き換えている。 size  mon  day year  file-name  7714  3  14  1993  G3FIL.ASM  7735  3  14  1993  G3FIL.BAK  7263  3  14  1993  G3FIL.JNK  1247  3  14  1993  G3FIL.OBJ  8688  3  15  1993  G3FIL2.ASM  8688  3  15  1993  G3FIL2.BAK  4749  3  15  1993  G3FIL2.OBJ  1701  2  19  1993  GTII___O.OBJ duplicated extension  4323  3  15  1993  GTII2__O.OBJ Under line = space   131 11  14  1992  GTII2__T.TFA     0  3  14  1993  GTR22.AAK bit error? B turns into A     0  4   8  1993  GTR22.RRJ  5140 11  10  1992  GTRFFIL.AAK  2804 11  15  1992  GTRI.BAK  2817  2  19  1993  GTRI.C   223  1  27  1993  GTRI.EEE bit error?  4918  1  27  1993  GTRI.EXE    28  8  26  1992  GTRI__.EEE  3682  4   7  1993  GTRI3.BAK  3899  4   7  1993  GTRI3.C   194  3  15  1993  NONAME.OBJ  3084 12  13  1995  ROO.NNK missing T, J turns into N?   919 12  12  2010  ROOT.ASM    27 11  26  1992  ROOT0.PZJ R turns into Z  9954 11  18  1992  ROOTT.EXE   519 11  18  1992  ROOTT.OBJ  1932 12  13  1995  ROOTT.TXT   332 11  18  1992 'ROOTT__(dq).C' (dq) = '"'     8  6  10  1992  TAMM___C.CFG  2013  2  11  1993  TRIGON.BAK  2017  2  11  1993  TRIGON.DOC 13204  2  11  1993  TRIGON.LZH    36  1   1  1970  TTRI.PR  1427  3  15  2101  TTRI2.PF  5272  3  12  1981  TTRIFLL.AS   702 11  29  1992  WAYING.BAK   702 11  29  1992  WAYING.C 21112  2  19  1993  WAYING.EXE  1452  2  19  1993  WAYING.OBJ    28 11  29  1992  WAYING.PRJ  4623 12  13  1995  ZOOTT.BAK 化け方かディレクトリ構造を壊した場合は除いてある。. .. が化けてディレクトリの親子関係が壊れたファイルサイズ部分が壊れて異様に大きくなったファイル(主に 10Mibyte 以上)は除いてあるディレクトリエントリーのクラスタ番号部分が壊れて子ディレクトリにたどり着けなくなった気づいた化け方の傾向は次の様になった。 1 ~ 3 bit 程化けているファイル名の文字が重複する訂正しきれず、数ビットの 0/1 が反転するのは理解できる。重複(厳密に言えば隣接するバイトで上書きされてしまう)が起きるのはなぜなんだろう。誤り訂正符号の理論をよく勉強すればもう少し背景が分かってくるのかも。 それとも Linux の FAT file system driver が壊れたディレクトリに弱く、意図しない memcpy, memmove などをしてしまうのだろうか? ディレクトリ化けで永久にソースは失われた? 化ける前のファイル名を推測して、現役のハードディスクを探してみる。別の系譜で子孫が生き残っていた。

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る