Я использую WinHex для восстановления файлов с диска. В основном это очень хорошо, за исключением файлов MPEG.Кажется, что почти все они усекаются в файлы разных размеров, почти всегда менее 1 МБ.
Он определяет начало файла synccode из 0x000001BA
, но просматривая шестигранных отводы для конца файла, маркеры EOF
он выбрал , кажется совершенно случайным. Есть множество концовок в 0000
но тогда я понимаю формат так: поток MPEG может использовать заполнение нулевыми битами, чтобы обеспечить строгое соблюдение общей скорости передачи данных ... поэтому я не ожидал, что 00000 будет концом файла маркер по этой причине.
Тогда есть другие, которые заканчиваются случайными байтовыми кодами:
То, что я ищу и не могу найти, это либо "правильные" коды маркеров EOF
(не знаю, почему WinHex их не использует), либо, альтернативно, какие-то поля заголовка длины содержимого, такие как HTTP, которые я могу использовать для выведите EOF
из SOF
.