1

Тема: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Привет! У Microsoft есть такая консольная прога FCIV (File Checksum Integrity Verifier), она тут. Я пытаюсь с ней разобраться, но чё-то ни хрена не понимаю: то ли я тупой, то ли Справка к ней тупо написана, то ли эта прога вообще не может то, что мне он неё нужно, а именно:

как ей проверить _конкретный_ файл на предмет его совпадения с неким MD5? — то есть чтобы ввести путь к файлу, ввести MD5 и получить рез-тат. Или другой вар-т: ввести путь к файлу и чтобы прога, просмотрев свою xml-базу, сказала: есть там MD5 указанного файла или нет — это вообще невозможно, или я просто не понимаю как дать команду?

2

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

EgorS пишет:

У Microsoft есть такая консольная прога FCIV (File Checksum Integrity Verifier), она тут. Я пытаюсь с ней разобраться, но чё-то ни хрена не понимаю...

Во-первых, постарайтесь, пожалуйста, выражать свое негодование более мягким способом, ибо правила форума еще никто не отменял. Во-вторых, не совсем понятно для чего Вам понадобилось использовать утилиту fciv.exe, которую Microsoft не поддерживает? С учетом криптографии MD5 уже давно признан не устойчивым к коллизиям алгоритмом, поэтому логичнее использовать нечто более устойчивое, скажем, SHA512. Впрочем, пока SHA1 официально не признан небезопасным, можно использовать его, тем паче, что fciv.exe его поддерживает.
Насколько могу припомнить свой опыт работы с данной утилитой, то синтаксис там примерно следующий:

#узнать MD5 файла
fciv filename
#узнать SHA1 файла
fciv -sha1 filename
#перенаправить вывод в базу данных
fciv filename -sha1 -xml hashes.xml
#сверить хэш с тем, что в БД
fcix -v filename -sha1 -xml hashes.xml

Точно не вспомню, но должно быть как-то так. Если же Вам интересно независимое мнение, то лучше от использование fciv.exe отказаться: спроектирована она достаточно криво, имеет баг с кодировками и свойство переполния буфера. Именно по этим причинам пришлось от ее использования отказаться. Куда проще использовать sigcheck из набора Sysinternals с параметрами -q -h в пакетном файле, который к тому же можно полностью написать с учетом личных требований или использовать другие решения.

3

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Вот эта команда у меня не работает (имеется в виду, что база проги — файл fciv_DB.xml лежит в той же папке, где и сама FCIV.EXE)

fciv -v C:\TEST\MY_FILE.TXT -md5 -xml fciv_DB.xml

Выдаёт

Error msg  : The system cannot find the file specified.
Error code : 2

Вот я и подозреваю, что может быть она просто не умеет этого делать, вот и хочу точно выяснить: умеет или нет.

4

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Попробуйте задать полный путь к БД, например, fciv -v c:\test\my_file.txt -xml c:\path\where\located\fciv_DB.xml.

5

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Да я и так пробовал и эдак — всё равно ошибку выдаёт. Я до упора перечитал документацию по ней — и на сайте, и в прилагаемом текстовом файле, но не нашел там примера проверки одиночного файла, склоняюсь к мысли, что всё-таки эта прога такого не умеет, но хотелось бы узнать наверняка.

greg zakharov пишет:

Куда проще использовать sigcheck из набора Sysinternals с параметрами -q -h

посмотрел эту тулзу (тут) но там ключ -h не упомянут — это "тайная" фича что ли? :)

6 (изменено: greg zakharov, 2013-08-27 17:00:23)

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

EgorS пишет:

посмотрел эту тулзу (тут) но там ключ -h не упомянут...

Нет, тайных знаний там нет ровным счетом никаких, разве что русское зеркало грешит старыми спецификациями, а потому если Вы посмотрите на официальную английскую страницу, увидите, что параметр -h выводит хэши файла (алгоритмы MD5, SHA1, SHA256, хотя сам господин Руссинович вроде бы заикался, что MD5 будет исключен, а на смену придет более криптостойкий алгоритм).
Предвидя вопросы на тему, как можно создать БД в виде пары имя_файла - хэш с помощью sigcheck, укажу лишь в сторону for и findstr командных сценариев.

7

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

greg zakharov пишет:

Во-первых, постарайтесь, пожалуйста, выражать свое негодование более мягким способом, ибо правила форума еще никто не отменял.

Что не так? Какие конкретные претензии?

8

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

alexii пишет:

Что не так? Какие конкретные претензии?

Полагаю, мы нашли общий язык с EgorS. Если же Вам что-то показалось с моей стороны излишним, то позвольте Вас попросить перейти в "личку", дабы не наполнять форум постами не относящимся непосредственно к обсуждаемой теме.

9

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Понимаю, что тема старая, но все же, не у Руссуновича, ни просто не смог найти информацию о совместимости.
Не запускается ни sigcheck ни sigcheck64 в w2k3 (и xp), пишет:

точка входа в процедуру setfileinformationbyhandle не найдена в библиотеке DLL KERNEL32.DLL

мне на файловом сервере на w2k3, надо сравнивать текстовые файлы...
fc - как выяснилось глючит в цикле, думал ее заменить через сравнение контрольных сумм.
Вон там описывал проблему подробно: ссылка

10

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

Пусть Б.Гейтсу с его чудо сайтом будет хорошо...

На официальном сайте только последняя версия утилиты sigcheck 2.54 - она ни в xp, ни в w2k3 yt не запускается.
Нашел предыдущую версию 2.1 - сразу заработала
(на заразу проверил, вроде чисто)

11

Re: CMD/BAT: Подскажите, пожалуйста про FCIV.EXE

kvant-07
Расставьте отсутствующие точки и заглавные буквы в предложениях.
Прочтите внимательно.