对于初学者来说,您提供的数据中似乎存在某种模式
C:\>grep -obUaP "\xef\xcd\xab\x19\x14\x00\x05\x00\x08\x00" bindata
0:ïI«↓¶ ♣
143:ïI«↓¶ ♣
361:ïI«↓¶ ♣
C:\>xxd -g 1 -l 10 -s 0 bindata & xxd -g 1 -l 10 -s 143 bindata & xxd -g 1 -l 10 -s 361 bindata
0000000: ef cd ab 19 14 00 05 00 08 00 ..........
000008f: ef cd ab 19 14 00 05 00 08 00 ..........
0000169: ef cd ab 19 14 00 05 00 08 00 ..........
那是 0x19abcdef 作为一些魔法签名,你可以从这里跟进
似乎还有一个恒定偏移量的文件名
C:\>xxd -g 1 -l 16 -s 30 bindata & xxd -g 1 -l 16 -s 173 bindata & xxd -g 1 -l 16 -s 391 bindata
000001e: 49 4e 44 45 58 2e 53 59 53 90 77 a2 38 fc 2f 53 INDEX.SYS.w.8./S
00000ad: 49 4e 46 4f 2e 53 59 53 52 b4 68 91 65 88 05 26 INFO.SYSR.h.e..&
0000187: 51 4d 57 57 49 4e 4a 47 2e QMWWINJG.
假设它是某种PKZIP xxd 自卸车似乎证实了?布局
echo off
set /a qwsize = 8
set /a dwsize = 4
set /a wsize = 2
set /a bsize = 1
set /a signature = %1
set /a version = %signature% + %dwsize%
set /a flags = %version% + %wsize%
set /a Compression = %flags% + %wsize%
set /a ModTime = %compression% + %wsize%
set /a ModDate = %ModTime% + %wsize%
Set /a Crc32 = %ModDate% + %wsize%
set /a CompressedSize = %Crc32% + %dwsize%
set /a UncompressedSize = %CompressedSize% + %dwsize%
set /a FileNameLength = %UncompressedSize% + %dwsize%
set /a ExtraFieldLength = %FileNameLength% + %wsize%
set /a filename = %ExtraFieldLength% + %wsize%
printf "%%20s" "signature " & xxd -g 4 -s %signature% -l %dwsize% bindata &^
printf "%%20s" "version " & xxd -g 2 -s %version% -l %wsize% bindata &^
printf "%%20s" "flags " & xxd -g 2 -s %flags% -l %wsize% bindata &^
printf "%%20s" "Compression " & xxd -g 2 -s %Compression% -l %wsize% bindata &^
printf "%%20s" "ModTime " & xxd -g 2 -s %ModTime% -l %wsize% bindata &^
printf "%%20s" "ModDate " & xxd -g 2 -s %ModDate% -l %wsize% bindata &^
printf "%%20s" "Crc32 " & xxd -g 4 -s %Crc32% -l %dwsize% bindata &^
printf "%%20s" "Compressed_Size " & xxd -g 4 -s %CompressedSize% -l %dwsize% bindata &^
printf "%%20s" "UncompressedSize " & xxd -g 4 -s %UncompressedSize% -l %dwsize% bindata &^
printf "%%20s" "File Name length " & xxd -g 2 -s %FileNameLength% -l %wsize% bindata &^
printf "%%20s" "Extra Field len " & xxd -g 2 -s %ExtraFieldLength% -l %wsize% bindata &^
printf "%%20s" "filename " & xxd -g 1 -s %filename% -l %qwsize% bindata
C:>dumpinxxd.bat 0
C:\>echo off
signature 0000000: efcdab19 ....
version 0000004: 1400 ..
flags 0000006: 0500 ..
Compression 0000008: 0800 ..
ModTime 000000a: 1b8c ..
ModDate 000000c: 2f34 /4
Crc32 000000e: 63e3f135 c..5
Compressed_Size 0000012: 68000000 h...
UncompressedSize 0000016: 8c000000 ....
File Name length 000001a: 0900 ..
Extra Field len 000001c: 0000 ..
filename 000001e: 49 4e 44 45 58 2e 53 59 INDEX.SY
C:>dumpinxxd.bat 143
C:\>echo off
signature 000008f: efcdab19 ....
version 0000093: 1400 ..
flags 0000095: 0500 ..
Compression 0000097: 0800 ..
ModTime 0000099: f480 ..
ModDate 000009b: 514c QL
Crc32 000009d: a4355085 .5P.
Compressed_Size 00000a1: b4000000 ....
UncompressedSize 00000a5: d9000000 ....
File Name length 00000a9: 0800 ..
Extra Field len 00000ab: 0000 ..
filename 00000ad: 49 4e 46 4f 2e 53 59 53 INFO.SYS
C:>dumpinxxd.bat 361
C:\>echo off
signature 0000169: efcdab19 ....
version 000016d: 1400 ..
flags 000016f: 0500 ..
Compression 0000171: 0800 ..
ModTime 0000173: 8da9 ..
ModDate 0000175: 4732 G2
Crc32 0000177: 0885797f ..y.
Compressed_Size 000017b: f0000000 ....
UncompressedSize 000017f: 22010000 "...
File Name length 0000183: 0c00 ..
Extra Field len 0000185: 0000 ..
filename 0000187: 51 4d 57 57 49 4e 4a 47 QMWWINJG