Andy_Scull Опубликовано 26 июня, 2009 Жалоба Поделиться Опубликовано 26 июня, 2009 (изменено) Собственно, даже близкой темы я не нашел, так что извиняйте, создал новую СитуацияЕсть mds+mdf образ диска. Я хочу в имя файла всунуть CRC32. Естественно, у mds и у mdf разные чексуммы, поэтому и имена будут разные.Уже проверено - в некоторых mds, где имя mdf-файла прописано в самом конце, можно просто фаром вписать новое имя.Но наткнулся тут на mds, где после текста "*.mdf" идут ещё метаданные, и вставление байт его убивает. Так вот, вопрос - Кто-нибудь знает, где что в нём надо поправить, чтобы можно было сделать как я хочу - прописать вручную имя mdf-файла внутри mds.Имеется в виду - поправить какой-нить байт смещения или ещё что... Изменено 26 июня, 2009 пользователем Andy_Scull (смотреть историю редактирования) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
niiro dzyaki Опубликовано 26 июня, 2009 Жалоба Поделиться Опубликовано 26 июня, 2009 Нескромный вопрос - а зачем? Положить рядом файлик с CRC не подходит? Или, как вариант, вообще в iso перегнать, там можно в сам файл md5-хэш прикрепить. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Andy_Scull Опубликовано 26 июня, 2009 Автор Жалоба Поделиться Опубликовано 26 июня, 2009 Нескромный вопрос - а зачем? Положить рядом файлик с CRC не подходит? Или, как вариант, вообще в iso перегнать, там можно в сам файл md5-хэш прикрепить.Потому что хочется иметь всё в самом файле, тем более есть прога Anime Checker, которой можно массово проверить crc'шки. Она берет как раз из имени файла.Перегнать - исключается, есть риск что потом образ не будет браться игрушкой. Как вариант решения (не самый изящный, но всё же) - может, кто-то подскажет программу, которая бы массово проверяла все .sfv и .md5 во всех поддиректориях?(с поддержкой юникода, еснно) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Andy_Scull Опубликовано 29 июня, 2009 Автор Жалоба Поделиться Опубликовано 29 июня, 2009 (изменено) Похоже, что я разрешил таки свою проблему.Если кому понадобится - Примерно на 0x1E8 (мой случай) идет блок, где прописано имя мдф-ки (*.mdf). Редактором вставляем байты и вписываем новое имя. После имени файла идут dword'ы, один из них - адрес следующего блока метаданных. Его надо исправить на новое значение, поскольку он абсолютный.Выглядит это примерно так - 001E0: 00 00 00 00 00 00 00 00 31 00 31 00 2E 00 6D 00 <-- имя mdf001F0: 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/итп в поддиректориях. Изменено 30 июня, 2009 пользователем Andy_Scull (смотреть историю редактирования) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.