Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > как восстановить файл в ХР ?


Автор: toni1981k 18.8.2006, 22:39
Решил сразу обратиться к ассемблерщикам - они знают о компах всё...
Подскажите, профессионалы - как вернуть файл?
Короче... У меня была дорогая мне фотка... Я из любопытства открыл её с помощью блокнота, и впереди всего кода добавил единичку. Побаловался... Так и сохранил. Потом попробовал запустить, но она, ессно, не открылась. Я с умным видом стёр единичку, но вот беда - файл всё равно оказался загубленным. Система не хочет открывать. Я поэксперементировал - создавал в пайнте маленькие *.jpg и также ставил там единички впереди кода, чтобы понять, в чём тут дело... Но знаний не хватает. Ведь код-то восстановлен... Как мне спасти свою фотку?  (У меня ХР)
Пожалуйста, не нужно слов о шаловливых ручонках - не до шуток мне... :-(

Автор: sgi1981 18.8.2006, 23:46
Ха-хе !

Я знаю что там ещё могло измениться.
Там вместо нулевых байтов (нуль-символ) редактор пробелы поставил.

Так что теперь нужно пытаться заменить пробелы нулевыми байтами.
Код пробела - 20h (32 dec).
Код нуль-символа - 00h (0 dec).

Но ведь и в исходном JPEG тоже могли присутствовать байты 20h.

Но методом экспериментального ТЫКа можно потихоньку восстановить файл.

Для примера могу привести статистику, которую я получил, когда пробовал так же как ты изменять файл.
Потом сравнил файлы Windows Commander-ом.
Размер JPEG-файла был 86,7 КБ (88 791 байт)

Получилось 650 различий !
И все эти различия были одного вида - вместо нуль-байта был пробел.

Автор: setty 20.8.2006, 13:11
уфф... долго же тыкать прийдётся )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)