Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Цитата yurfed:
Отчего же? Распаковка с правильным CRC, это как раз то, что мы и добиваемся при помощи правильного пароля. »
CRC нужна только для того, чтобы понять, что распаковался мусор и сообщить об этом (я вначале процитировал винрар ). Если ты в момент сравнения контрольной суммы полученного с ожидаемым направишь программу по другой ветке (а для этого даже не надо подменять CRC - достаточно просто изменить оператор перехода на противоположный - типа вместо "Переход если ноль" установить "Переход если НЕ ноль" - один байт кода), то... Ну скажет тебе архиватор "Ок, я все распаковал, забирай", ну и заберешь ты мусор
Я не знаю алгоритм работы винрара. Я просто предположил, как это должно быть. Кстати, контрольная сумма архивированного файла хранится в заголовке. Легкое движение шестнадцатеричным редактором - и оп-па, правильный пароль уже не подходит Т.е. подходить-то он подходит, но РАР считает, что получил ерунду и ругается на ошибку.
Можно, конечно, ради интереса не дать рару стереть неверно расшифрованный файл и посмотреть, что там внутри - но смысла в этом никакого нет.
Да, винрар, прежде чем сказать, что пароль неверный, сначала распаковывает файл полностью. Вопрос: если пароль хранится в заголовке, то зачем распаковывать полностью гигабайтный файл? Из вредности?

-------
"640 K ought to be enough for anybody" Bill Gates, 1981


Отправлено: 12:33, 18-01-2008 | #14