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

2329
Gfy

На чем основаны комментарии 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.

;Указывает на начало комментировал линии и 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.

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

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

0

3 ответа на вопрос

1
Greg

I looked into this a bit today after coming across your post.

I can't comment much on the first line. As you know, it's the signature written when QuickSFV is installed. Unfortunately that's all I know as well.

The second line is a Base64-encoded FILETIME timestamp from Windows. According to Microsoft, this value is "the number of 100-nanosecond intervals since January 1, 1601 (UTC)." QuickSFV writes the current system time when checking/verification is finished (including when it just checks its database without checking/verifying any files).

The third line a Base64-encoded set of flag bits. 0 means missing or bad, and 1 means verified okay. If there's 1 file there's exactly one flag bit, and if there are 1000 files there are 1000 flag bits.

Hopefully this helps anyone trying to make use of the Previously Checked File database in .sfv files.

Спасибо, что понял это! Осталось только неизвестно, как именно «случайное число» первой строки относится к моменту времени. Gfy 7 лет назад 0
1
Johanne

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

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

Пожалуйста, предоставьте ссылку для этого, чтобы превратить его в хороший ответ. DavidPostill 7 лет назад 0
Это то, что я заметил, да, но как именно он отображается на отметку времени? Это не строка в кодировке Base64, как вторая строка. Может быть, это просто шестнадцатеричное представление? Я еще не проверял это. Я правильно понял, что он был использован для ускорения локальной проверки. Точное значение его происхождения не имеет значения для того, как инструмент использует его. Gfy 7 лет назад 0
Подпись представляет собой шестнадцатеричное представление текущего системного времени в виде FILETIME во время установки. Johanne 7 лет назад 0
0
Gfy

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

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

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

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

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

Похожие вопросы