Перейти к содержанию
Решена проблема отправки писем ×
АнимеФорум

Вопрос по mds файлам


Andy_Scull

Рекомендуемые сообщения

Собственно, даже близкой темы я не нашел, так что извиняйте, создал новую

 

Ситуация

Есть mds+mdf образ диска. Я хочу в имя файла всунуть CRC32. Естественно, у mds и у mdf разные чексуммы, поэтому и имена будут разные.

Уже проверено - в некоторых mds, где имя mdf-файла прописано в самом конце, можно просто фаром вписать новое имя.

Но наткнулся тут на mds, где после текста "*.mdf" идут ещё метаданные, и вставление байт его убивает.

 

Так вот, вопрос -

Кто-нибудь знает, где что в нём надо поправить, чтобы можно было сделать как я хочу - прописать вручную имя mdf-файла внутри mds.

Имеется в виду - поправить какой-нить байт смещения или ещё что...

Изменено пользователем Andy_Scull (смотреть историю редактирования)
Ссылка на комментарий
Поделиться на другие сайты

Нескромный вопрос - а зачем? Положить рядом файлик с CRC не подходит? Или, как вариант, вообще в iso перегнать, там можно в сам файл md5-хэш прикрепить.
Ссылка на комментарий
Поделиться на другие сайты

Нескромный вопрос - а зачем? Положить рядом файлик с CRC не подходит? Или, как вариант, вообще в iso перегнать, там можно в сам файл md5-хэш прикрепить.

Потому что хочется иметь всё в самом файле, тем более есть прога Anime Checker, которой можно массово проверить crc'шки. Она берет как раз из имени файла.

Перегнать - исключается, есть риск что потом образ не будет браться игрушкой.

 

Как вариант решения (не самый изящный, но всё же) - может, кто-то подскажет программу, которая бы массово проверяла все .sfv и .md5 во всех поддиректориях?

(с поддержкой юникода, еснно)

Ссылка на комментарий
Поделиться на другие сайты

Похоже, что я разрешил таки свою проблему.

Если кому понадобится -

Примерно на 0x1E8 (мой случай) идет блок, где прописано имя мдф-ки (*.mdf).

Редактором вставляем байты и вписываем новое имя. После имени файла идут dword'ы, один из них - адрес следующего блока метаданных. Его надо исправить на новое значение, поскольку он абсолютный.

Выглядит это примерно так -

001E0: 00 00 00 00 00 00 00 00 31 00 31 00 2E 00 6D 00 <-- имя mdf

001F0: 64 00 66 00 00 00 01 00 00 00 FE 01 00 00 01 00

адрес следующего блока --------------------------^

И в начале файла (оффсет ~0x54) идет дворд адреса на соседний блок, его надо поправить на новое значение (адрес выше -4, помечен зеленым цветом).

Если коротко -

Если Х = адрес красного значения после исправления имени файла

ставим [ X ] = X + 4 (пишем туда адрес + 4, это будет оффсет второй единички)

ставим [ 0x54 ] = X - 4. (тот же самый адрес - 4, или оффсет первой единички)

Если в имени файла пробелы - кавычки не нужны.

 

Проверено только на одном образе, если где-то не сработает - пишите, мне будет интересно покопаться в вашем мдс.

 

//edit

И для второго варианта решения моей задачи - прога FileVerifier++. В ней есть команднострочная версия, которая может проверить все .md5/sfv/итп в поддиректориях.

Изменено пользователем Andy_Scull (смотреть историю редактирования)
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...

Важная информация