Каково точное значение комментариев QuickSFV в конце файла SFV?

На чем основаны комментарии QuickSFV в конце файла SFV?

25-Monty_Python-The_End-EOS.mp3 D387716E
;Q1-1c11727069c13b6
;Q1-///4AA==

В версии 2 у него была строка больше:

cowiso-xvid-yrrol.part48.rar 60C3AB2E
cowiso-xvid-yrrol.part49.rar E50D18BC
;Q2-1c25890ae82a640
;Q2-8KmPHkmiwgE=
;Q2-////////gA==

SFV-файлы имеют различные виды комментариев в зависимости от инструмента, но только QuickSFV редактирует файл и сохраняет странную информацию в конце. См. SFV FAQ для получения дополнительной информации о формате файла SFV.

; указывает начало закомментированной строки и Q1- а также Q2- кажется, относится к основной версии QuickSFV. Я просмотрел историю версий, и вот мои выводы:

Изменения в v1.50b: Небольшая ошибка была исправлена, когда последняя строка файла.SFV не заканчивалась CR или LF. База данных "Ранее проверенные файлы" будет прикреплена к концу этой строки, а не к отдельной строке.

Изменения v1.51: если в SFV-файл уже встроена существующая БД, QuickSFV будет использовать его, но не обновлять и не удалять.

Он называется базой данных "Ранее проверенные файлы".

Изменения в v1.60: теперь уникальная подпись записывается в базу данных "Ранее проверенные файлы", чтобы отслеживать, была ли база данных создана текущим пользователем или другим пользователем. Это поможет, когда создатели SFV-файлов проверяют файлы и оставляют базу данных ранее проверенных файлов на месте при загрузке SFV-файла. Эта подпись является просто случайным числом и не содержит конкретной информации о машине, на которой она запущена. Он генерируется во время установки или если отсутствует соответствующая настройка INI. Обновление будет поддерживать эту подпись, пока вы устанавливаете в ту же папку, что и существующая версия QuickSFV. Установка в новую папку сбрасывает эту подпись, заставляя QuickSFV игнорировать базу данных ранее проверенных файлов при проверке. Удаление QuickSFV сотрет подпись.

Случайное число находится в файле quicksfv.conf, который можно найти в C:\Users\User\AppData\Local\QuickSFV для версии 3 и выглядит какSignature=1234567890, 10 символов и, кажется, случайным. Версия 2 ini находится по адресу C:\Program Files (x86)\QuickSFV\QuickSFV.ini и содержит 15-символьную шестнадцатеричную строку. В приведенных выше примерах это первая строка. Эта строка останется неизменной для системы и может идентифицировать установку.

Я не уверен, что эта строка все еще совершенно уникальна или случайна! Случайные SFV-файлы в Интернете начинаются с 1c или же 1d, Может быть, это основано на метке времени установки? Для моего теста это началось с 1d, в то время как старые файлы, кажется, начинаются с другого.

После этого подозрения я получил следующий результат эксперимента:

Signature=1d17fc36609ef78
      ;Q2-1d17fc7bfca4eee
      ;Q2-1d17fc830b747a9

Это явно возрастающий номер. Как превратить это в свидание или это что-то еще?

Изменения в версии 2.0: добавлена ​​функция истечения срока действия для предыдущей проверенной БД. Это настройка.INI, позволяющая вам указать максимальную дату БД, прежде чем считать ее старой и проверять все файлы. По умолчанию он не имеет срока действия, но [...] добавлен пункт меню, вызываемый правой кнопкой мыши, чтобы удалить всю ранее проверенную информацию БД из текущего файла.SFV.

Отметка времени файла изменяется после изменения базы данных. Вот как эта функция работает.

И затем есть еще одна или две строки для объяснения. Что именно они представляют? Как работает эта база данных?

3 ответа

Решение

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

Я не могу много комментировать в первой строке. Как вы знаете, это подпись, написанная при установке QuickSFV. К сожалению, это все, что я знаю.

Вторая строка - это отметка времени FILETIME в кодировке Base64 из Windows. По данным Microsoft, это значение является "числом интервалов в 100 наносекунд с 1 января 1601 года (UTC)". QuickSFV записывает текущее системное время, когда проверка / проверка завершена (в том числе, когда он просто проверяет свою базу данных без проверки / проверки каких-либо файлов).

Третья строка - это набор битов флага в кодировке Base64. 0 означает отсутствие или плохой, а 1 означает, что все в порядке. Если есть 1 файл, это ровно один бит флага, а если есть 1000 файлов, то есть 1000 битов флага.

Надеемся, что это поможет любому, кто пытается использовать базу данных ранее проверенных файлов в файлах.sfv.

Я сделал веб-страницу для вставки в файл SFV, и результат появится: http://rescene.wikidot.com/quicksfv

Данные ответы верны. Использование JavaScript для этого было сложной задачей:)

  • Сигнатура представляет собой метку времени FILETIME, закодированную одним большим шестнадцатеричным числом: старшие биты находятся перед младшими битами. Ведущий ноль первого байта не отображается.

  • Вторая строка - это отметка времени FILETIME из Windows, но структура имеет кодировку Base64. Первые 32 бита являются младшими байтами.

  • Третья строка - это набор битов флага в кодировке Base64.

Подпись не случайна. Это тот же тип отметки времени Windows. Я думаю, что он достаточно уникален во всех случаях, кроме крайнего случая, но не включает в себя какую-либо идентифицирующую информацию о пользователе или системе. Я думаю, что это отличное решение, требующее идентификатора "достаточно уникальный", но не идентифицирующего пользователя / компьютер. Вроде круто, если вы спросите меня.

Я также могу сказать вам, что подпись используется для определения того, проверяла ли ВАША система файлы или нет. Если подписи не совпадают, тогда они будут игнорировать флаги и перепроверять каждый файл. Кроме того, причиной временной отметки, вероятно, является сравнение ее с файлами с контрольным суммированием. Если один из файлов с контрольным суммированием имеет более позднюю временную метку, чем та, которая хранится в файле.sfv, то этот файл, скорее всего, был изменен и должен быть повторно проверен.

Это интересно, но неужели это сводит на нет цель инструмента? Как узнать, что поврежденный файл поврежден, если база данных сообщает, что он был проверен правильно?

Например, система с необнаруженным неисправным модулем памяти может незаметно внести повреждение в файлы без изменения их размеров или временных меток. Эти файлы не будут обнаружены QuickSFV как поврежденные из-за его функции базы данных.

Другие вопросы по тегам