Page 19 of 21

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

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

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

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

Posted: Sun 03 Feb, 2019 16:02
by buniak_a_h

Latest post of the previous page:

Ariman wrote:
Sun 03 Feb, 2019 15:52
buniak_a_h wrote:
Sat 02 Feb, 2019 12:07
может, имеет смысл включить в комплект поставки такого типа lua?
Есть же уже похожий скрипт в комплекте, для md5. Какой смысл плодить их для каждого алгоритма, кому надо, поправит под свои нужды.
Я про назначение префикса. Есессно, я за основу (как пример) взял из поставки. Просто не все знают про CommandLine. А про разные алгоритмы - я не по уши деревянный, чтоб такое предлагать.

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

Posted: Mon 04 Feb, 2019 17:19
by Heir
buniak_a_h Полезный макрос обнародовали. Ещё хорошо бы результат в Буфер помещать.

И ещё, чтобы префиксы вручную не набивать можно вот такой пользовать, просто медленно последовательно нажимая одну и ту же цифру (или знак — меняется легко).

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

Posted: Mon 04 Feb, 2019 18:06
by buniak_a_h
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-е используется.