Deepthroat писал(а):Тогда уже надо писать прогу, которая из этого куска и битого файла сделает нормальный файл.
это естественно - на самом деле всё просто - вся фишка в файле, в котором выдаются чек-суммы на исходный файл
простейщая структура этого файл такая:
- размер блока исходного файла, на который выдаётся чексумма
- последовательность типа:
№ блока - чексумма
1-й этап (созданеи файла)
программа поблочно (размер блока указываем) читает исходный файл - на каждый блок считает чексумму - формирует файл-запрос
2-й этап (сравнение с контрольным файлом)
программа согласно файла запроса пробегает по эталонному файлу, читает точно также поблочно и считает чексумму. После этого на тех блоках где чексумма не совпала - сбрасываем их в отдельный файл с указанием номера блока и содержимого (опционально для контроля добавляем чексумму)
3-й этап (востановление битого файла)
по файлу сформированному на этапе 2 пробегаем по исходному битому файлу и меняем в нём блоки в которых не совпали чексуммы на коректные
Алгоритм написал
У кого есть желаение - можно закодить