На чем основаны комментарии 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 редактирует файл и сохраняет странную информацию в конце. См. FAQ по SFV для получения дополнительной информации о формате файла SFV.

The ; указывает начало строки с комментариями, а 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 ответа3

1

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

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

1

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

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

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

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

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

0

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .