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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Wed 10 Nov, 2010 14:58

Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • сравнить хэш с содержимым клипборда
  • возможность использовать upper case для шестнадцатеричного вывода
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • запуск генератора через префикс
  • сохранение в лог ошибок при генерации
Для желающих тестировать последние изменения, актуальные бинарники можно взять здесь. Выбираем нужную конфигурацию, потом Artifacts.
Last edited by Ariman on Thu 03 Oct, 2019 10:23, edited 11 times in total.

buniak_a_h
Posts: 897
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 77 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Mon 04 Feb, 2019 18:06

Latest post of the previous page:

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

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

IgorZ
Posts: 605
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 40 times

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

Post by IgorZ » Tue 09 Apr, 2019 10:18

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 при вызове проверки через меню плагина отрабатывается нормально)?

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Tue 09 Apr, 2019 10:41

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 при вызове проверки через меню плагина отрабатывается нормально)?
Потому что пробел перед именем файла. Плагин его считает частью имени и не находит такой файл. В имя попадает всё, что после двоеточия.

IgorZ
Posts: 605
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 40 times

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

Post by IgorZ » Tue 09 Apr, 2019 12:00

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 при вызове проверки через меню плагина отрабатывается нормально)?
Потому что пробел перед именем файла. Плагин его считает частью имени и не находит такой файл. В имя попадает всё, что после двоеточия.
Спасибо, помогло.
Attachments
FarTrap_20190409154548.log.7z
(3.98 KiB) Downloaded 17 times
hashlist.md5.7z
(617 Bytes) Downloaded 16 times
Last edited by IgorZ on Tue 09 Apr, 2019 12:03, edited 1 time in total.

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Tue 09 Apr, 2019 15:02

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

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Wed 10 Apr, 2019 10:05

IgorZ
Проверь, ради интереса, будет ли текущая версия падать. А то у меня никак не повторяется.

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

IgorZ
Posts: 605
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 40 times

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

Post by IgorZ » Wed 10 Apr, 2019 10:45

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

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

buniak_a_h
Posts: 897
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 77 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Tue 10 Sep, 2019 14:58

Обнаружена неприятная особенность плагина: при невозможности открытия файла (для подсчёта КС) он валится так, что обойти в скрипте на 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, но и блокировать вывод сообщения об ошибке?

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Sat 28 Sep, 2019 08:18

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

UPD. Закомитил исправление на гитхаб. Теперь будет возвращать false вместо хеша от предыдущего файла. И добавил опциональный параметр Quiet.
Last edited by Ariman on Sat 28 Sep, 2019 09:16, edited 1 time in total.

buniak_a_h
Posts: 897
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 77 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Sat 28 Sep, 2019 12:48

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

skipik
Posts: 144
Joined: Wed 03 Jun, 2015 15:24
Has thanked: 17 times
Been thanked: 13 times

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

Post by skipik » 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
Last edited by skipik on Sat 28 Sep, 2019 13:46, edited 1 time in total.

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Sat 28 Sep, 2019 14:15

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

buniak_a_h
Posts: 897
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 77 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Sat 28 Sep, 2019 14:23

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
Немножко удивляет, что бинарники, полученные с разных ссылок, различаются. Но это - так, к слову...

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Sat 28 Sep, 2019 16:20

Может skipik другой версией студии собирал, по сравнению с той, что в AppVeyor-е используется.

Pasha_ZZZ
Posts: 90
Joined: Mon 12 Jun, 2006 14:58
Contact:

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

Post by Pasha_ZZZ » Thu 03 Oct, 2019 17:11

Как насчет того, чтобы в диалоге прогресса перевести в LNG-файлы Time и добавить ETA в этот диалог?

Ariman
Posts: 1248
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 28 times
Contact:

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

Post by Ariman » Mon 07 Oct, 2019 10:38

Добавил Time в lng.

Post Reply

Return to “Обсуждение плагинов”