Page 19 of 21

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 10 Nov, 2010 14:58
by Ariman
Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • сравнить хэш с содержимым клипборда
  • возможность использовать upper case для шестнадцатеричного вывода
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • запуск генератора через префикс
  • сохранение в лог ошибок при генерации
  • добавить поддержку ed2k хешей
Для желающих тестировать последние изменения, актуальные бинарники можно взять здесь.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Mon 04 Feb, 2019 18:06
by buniak_a_h

Latest post of the previous page:

Heir wrote: Mon 04 Feb, 2019 17:19 Ещё хорошо бы результат в Буфер помещать.
У меня для этого есть свой макрос

Одно нажатие лишнее, зато мне далеко не всегда требуется помещать его в буфер (а иногда - и нельзя: в буфере что-то нужное).
Можно было бы заменить far.Show на far.Message с кнопками "в буфер", "в комстроку", "закрыть". Было бы универсальнее, но лениво...

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Tue 09 Apr, 2019 10:18
by IgorZ
Windows XP SP3, Far 3.0.5382, Integrity Checker 2.7.1

У меня есть каталог с кучей имиджей дисков. Для контроля целостности сделан файл с контрольными суммами MD5, и периодически произвожу проверку. В этот раз встал на файл с контрольными суммами (создан также Integrity Checker), вызвал меню плагина, выбрал пункт "Проверка файлов", Enter, получил
Стек, если надо:
Создал файл с контрольными суммами для каталога IntChecker непосредственно версией 2.7.1 - результат попытки проверки тот же.

С версией 2.7.0 всё работает нормально.

Также заодно повторяю вопрос buniak_a_h: что делает префикс плагина, и почему команда "check: <filename>.md5" вызывает сообщение "Файл не является списком хешей" (файл заведомо корректен, и в версии 2.7.0 при вызове проверки через меню плагина отрабатывается нормально)?

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Tue 09 Apr, 2019 10:41
by Ariman
IgorZ wrote: Tue 09 Apr, 2019 10:18В этот раз встал на файл с контрольными суммами (создан также Integrity Checker), вызвал меню плагина, выбрал пункт "Проверка файлов", Enter, получил
А можно файлик посмотреть, на котором падает? Само сообщение мне не сильно много говорит. Раз проблемный файл создается плагином нормально, то, похоже, что падает в парсере. Код хеширования одинаковый для обеих операций.
IgorZ wrote: Tue 09 Apr, 2019 10:18 почему команда "check: <filename>.md5" вызывает сообщение "Файл не является списком хешей" (файл заведомо корректен, и в версии 2.7.0 при вызове проверки через меню плагина отрабатывается нормально)?
Потому что пробел перед именем файла. Плагин его считает частью имени и не находит такой файл. В имя попадает всё, что после двоеточия.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Tue 09 Apr, 2019 12:00
by IgorZ
Ariman wrote: Tue 09 Apr, 2019 10:41
IgorZ wrote: Tue 09 Apr, 2019 10:18В этот раз встал на файл с контрольными суммами (создан также Integrity Checker), вызвал меню плагина, выбрал пункт "Проверка файлов", Enter, получил
А можно файлик посмотреть, на котором падает? Само сообщение мне не сильно много говорит. Раз проблемный файл создается плагином нормально, то, похоже, что падает в парсере. Код хеширования одинаковый для обеих операций.
Зашёл в каталог плагина, создал hashlist.md5 (приложил), тут же вызываю проверку - падение.
Подключил FExcept.dll, создал траплог - может, поможет. Тоже прицепил.
Ariman wrote: Tue 09 Apr, 2019 10:41
IgorZ wrote: Tue 09 Apr, 2019 10:18 почему команда "check: <filename>.md5" вызывает сообщение "Файл не является списком хешей" (файл заведомо корректен, и в версии 2.7.0 при вызове проверки через меню плагина отрабатывается нормально)?
Потому что пробел перед именем файла. Плагин его считает частью имени и не находит такой файл. В имя попадает всё, что после двоеточия.
Спасибо, помогло.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Tue 09 Apr, 2019 15:02
by Ariman
IgorZ wrote: Tue 09 Apr, 2019 12:00 Подключил FExcept.dll, создал траплог - может, поможет. Тоже прицепил.
Не повторяется. Пробовал версию 2.7.1 и x86, и x64. Проверяет файлы без ошибок.
Судя по логу, падает где-то в коде boost-а. В новой версии я его уже не использую, может и ошибка пропадет.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 10 Apr, 2019 10:05
by Ariman
IgorZ
Проверь, ради интереса, будет ли текущая версия падать. А то у меня никак не повторяется.

Версию для последнего билда можно достать в Appveyor-е (закладка Artifacts для нужной конфигурации).

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 10 Apr, 2019 10:45
by IgorZ
Ariman wrote: Wed 10 Apr, 2019 10:05 IgorZ
Проверь, ради интереса, будет ли текущая версия падать. А то у меня никак не повторяется.

Версию для последнего билда можно достать в Appveyor-е (закладка Artifacts для нужной конфигурации).
Да, версия 2.7.2 работает, не падая, на любых падучих в 2.7.1 вариантах, спасибо. В общем, что это было, неясно, но ушло.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Tue 10 Sep, 2019 14:58
by buniak_a_h
Обнаружена неприятная особенность плагина: при невозможности открытия файла (для подсчёта КС) он валится так, что обойти в скрипте на LUA невозможно (или я не нашёл как).
Например. В скрипте написано такое:

Code: Select all

local fn=win.GetEnv('USERPROFILE') .. '\\NTUSER.DAT'
local www=Plugin.SyncCall("E186306E-3B0D-48C1-9668-ED7CF64C0E65", "gethash", 'MD5', fn)
far.Show(www)
При выполнении скрипта получаю:

Code: Select all

╔══════════════════ Error ═══════════════════╗
║         Can not calculate hash for         ║
║         \\?\C:\Users\PC\NTUSER.DAT         ║
╟────────────────────────────────────────────╢
║ { Skip } [ Skip All ] [ Retry ] [ Cancel ] ║
╚════════════════════════════════════════════╝
При этом после Skip в переменную www помещается результат предыдущего вычисления КС.
Определить, что была ошибка, в скрипте не представляется возможным: pcall и xpcall возвращают true! Например:

Code: Select all

local fn=win.GetEnv('USERPROFILE') .. '\\NTUSER.DAT'
return pcall(Plugin.SyncCall,"E186306E-3B0D-48C1-9668-ED7CF64C0E65", "gethash", 'MD5', fn)
возвращает

Code: Select all

╔══════════════════════════════════════╗
║  1│ true                             ║
║  2│ 35d1750061b8382c69ccd119c0237029 ║
╚════════════ 2 arguments ═════════════╝
(то, что указано во второй строке, это - результат вычисления MD5 предыдущего файла!)
Нельзя ли как-нибудь этот вопрос решить? Причём или по параметру Quiet, или по настройке не только возвращать nil, но и блокировать вывод сообщения об ошибке?

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 08:18
by Ariman
buniak_a_h wrote: Tue 10 Sep, 2019 14:58 Нельзя ли как-нибудь этот вопрос решить? Причём или по параметру Quiet, или по настройке не только возвращать nil, но и блокировать вывод сообщения об ошибке?
Посмотрю.

UPD. Закомитил исправление на гитхаб. Теперь будет возвращать false вместо хеша от предыдущего файла. И добавил опциональный параметр Quiet.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 12:48
by buniak_a_h
Ariman wrote: Sat 28 Sep, 2019 08:18 Закомитил исправление на гитхаб
Спасибо. Но может я чего-то не понимаю... А дальше-то какие мои действия? Качать исходники и компилить ? На плагринге - старое... Или где-то ещё есть бинарники?

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 13:45
by skipik
buniak_a_h, вот я сегодня собирал, включает последние изменения: https://www.upload.ee/files/10531924/In ... r2.7z.html
На будущее, вот тут можно брать бинарники после каждого нового коммита: https://ci.appveyor.com/project/lazyham ... s/27732657

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 14:15
by Ariman
buniak_a_h wrote: Sat 28 Sep, 2019 12:48 А дальше-то какие мои действия?
Добавил инструкцию в шапку. Каждый комит собирается через AppVeyor. Можно качать архивы под свою конфигурацию.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 14:23
by buniak_a_h
skipik wrote: Sat 28 Sep, 2019 13:45 buniak_a_h, вот я сегодня собирал, включает последние изменения: https://www.upload.ee/files/10531924/In ... r2.7z.html
На будущее, вот тут можно брать бинарники после каждого нового коммита: https://ci.appveyor.com/project/lazyham ... s/27732657
Немножко удивляет, что бинарники, полученные с разных ссылок, различаются. Но это - так, к слову...

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 28 Sep, 2019 16:20
by Ariman
Может skipik другой версией студии собирал, по сравнению с той, что в AppVeyor-е используется.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Thu 03 Oct, 2019 17:11
by Pasha_ZZZ
Как насчет того, чтобы в диалоге прогресса перевести в LNG-файлы Time и добавить ETA в этот диалог?

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Mon 07 Oct, 2019 10:38
by Ariman
Добавил Time в lng.