Индификация программы Labview

Простейшие вопросы в области инженерной разработки
Аватара пользователя
jane_wild

Gold
leader
leader
Сообщения: 522
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 101 раз
Поблагодарили: 19 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение jane_wild »

Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
AndreyDmitriev писал(а): 27 апр 2025, 10:35 при каждой новой сборке содержимое исполняемого файла слегка меняется (так LabVIEW устроена), поэтому будет меняться и контрольная сумма.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Life is short. Smile while you still have teeth!
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

Вся проблема в том что я из VI формирую EXE файл.
Мне нужен его CRC или еще что-то.
То есть я например передаю EXE файл другому человеку, со своим кодом CRC а у меня он "летит" нужно узнать что тот человек не формировал EXE то есть код остался прежним.
Для безопасности надо.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

AndreyDmitriev писал(а): 27 апр 2025, 10:35 A можно модули для LV2014?
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

AndreyDmitriev писал(а): 28 апр 2025, 06:52
JohnChaban писал(а): 27 апр 2025, 15:32 А где можно скачать последние программы целиком?
Это сниппеты, которые вы можете сохранить как png и перетащить на диаграмму, там код внутри. Но это только в LabVIEW 2025. sha256 начиная с какой-то версии просто библиотечные функции, они встроены в LabVIEW, но точно не в 2014, как у вас в профиле. Если по какой-то причине надо непременно в 2014, то я мог бы сконвертить это дело в предыдущую версию (там все исходники есть), но навскидку там пара элементов, что в старой LabVIEW не поддерживаются, придётся повозиться. Лучше б вам обновиться до последней версии.
Мне надо именнл Labview2014, на работе только на него лицензия.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2288
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 33 раза
Поблагодарили: 33 раза

Re: Индификация программы Labview

Сообщение Borjomy_1 »

Это не мешает иметь community версии для внутренних работ, например, на виртуальной машине
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

Если можно для LV2014 сделайте пожалуйста
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

jane_wild писал(а): 28 апр 2025, 17:18 Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
AndreyDmitriev писал(а): 27 апр 2025, 10:35 при каждой новой сборке содержимое исполняемого файла слегка меняется (так LabVIEW устроена), поэтому будет меняться и контрольная сумма.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Я не очень понимаю что значит Post-Build-Action? Отбой все понял
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

jane_wild писал(а): 28 апр 2025, 17:18 Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
AndreyDmitriev писал(а): 27 апр 2025, 10:35 при каждой новой сборке содержимое исполняемого файла слегка меняется (так LabVIEW устроена), поэтому будет меняться и контрольная сумма.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Не очень понятень порядок действий как вы делали?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1422
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение AndreyDmitriev »

JohnChaban писал(а): 28 апр 2025, 18:42 Если можно для LV2014 сделайте пожалуйста
Вот, перегнал в LV2010. Вроде не ошибся нигде, там пришлось vim выпилить, ну и до кучи класс я тоже выкинул, sha256 хэш от строки test должен быть 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.
Вложения
2010sha256.zip
(344.39 КБ) 36 скачиваний
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1422
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение AndreyDmitriev »

JohnChaban писал(а): 28 апр 2025, 19:05
jane_wild писал(а): 28 апр 2025, 17:18 Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
AndreyDmitriev писал(а): 27 апр 2025, 10:35 при каждой новой сборке содержимое исполняемого файла слегка меняется (так LabVIEW устроена), поэтому будет меняться и контрольная сумма.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Не очень понятень порядок действий как вы делали?
Откройте проект, сгенерите exe файл, закройте проект, откройте его снова и ничего не меняя, снова сгенерите. Exe файлы могут получиться разные.
Аватара пользователя
jane_wild

Gold
leader
leader
Сообщения: 522
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 101 раз
Поблагодарили: 19 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение jane_wild »

AndreyDmitriev писал(а): 28 апр 2025, 20:32 Exe файлы могут получиться разные.
Я бы "могут получиться" из этого предложения выбросила. Десять раз перекомпилировала и все 10 раз хэш разный.
Life is short. Smile while you still have teeth!
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1422
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение AndreyDmitriev »

jane_wild писал(а): 28 апр 2025, 20:50
AndreyDmitriev писал(а): 28 апр 2025, 20:32 Exe файлы могут получиться разные.
Я бы "могут получиться" из этого предложения выбросила. Десять раз перекомпилировала и все 10 раз хэш разный.
Ну я как бы не в курсе, что именно там меняется, поэтому осторожен в заявлениях. Может банально автоинкремент версии билда включён, тогда это ожидемо и очевидно, может метка времени. В случае с Visual Studio, к примеру, если на С++, то там помимо метки времени ещё пишется уникальный GUID для привязки к pdb файлу, и он всегда разный. Другой пример - Раст, он такой фигнёй не страдает и выгоняет вроде бы одинаковый код для одного и того же исходника. А что там делает LabVIEW я не знаю, в теории можно дотошно разобраться, но времени жалко. Ну разный файл и разный.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1422
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение AndreyDmitriev »

А, вдогонку, есть и другой способ, можно ведь выдать самому себе сертификат, это делается примерно вот таким командным файлом (но инструменты должны быть в системе, они с Visual Studio ставятся):

Код: Выделить всё

REM Creating a self-signed certificate authority (CA):
makecert -r -pe -n "CN=Andrey" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv Andrey.pvk Andrey.cer
REM Importing the CA certificate:
certutil -user -addstore Root Andrey.cer
REM Creating a code-signing certificate (SPC):
makecert -pe -n "CN=Andrey" -a sha256 -cy end -sky signature -ic Andrey.cer -iv Andrey.pvk -sv Andrey.pvk Andrey.cer
REM Convert the certificate and key into a PFX file:
pvk2pfx -pvk Andrey.pvk -spc Andrey.cer -pfx Andrey.pfx
Это не я придумал, это вот отсюда: https://stackoverflow.com/questions/848 ... on-windows
Если вы всё правильно сделаете, то у вас добавится сертификат, который можно использовать в билд-спецификации и подписывать им файл:
Изображение
Ну или через командную строку:

Код: Выделить всё

REM Using the certificate for signing code:
signtool sign /v /fd SHA256 /f Andrey.pfx /t http://timestamp.comodoca.com/authenticode Application.exe
Тогда в свойствах появится закладка цифровой подписи (извиняйте за немецкие скриншоты):
Изображение
Ну и там дальше можно детали посмотреть:
Изображение
Изображение
Серийник и "отпечатки пальцев"
Изображение
Изображение
Тогда проверять аутентичность программы можно прямо из командной строки, официально
так в самом простейшем случае

Код: Выделить всё

signtool verify /pa Application.exe
или сяк (по идее надо отпечаток тоже проверять, чтобы быть уверенным в том, что это именно ваш сертификат):

Код: Выделить всё

$sig = Get-AuthenticodeSignature "Application.exe"
if ($sig.Status -eq 'Valid') { "Valid" } else { "Invalid: $($sig.Status)" }

Get-AuthenticodeSignature "Application.exe" | Select -ExpandProperty SignerCertificate | Format-List Thumbprint
Плюсом тут то, что этот ключ меняться от билда к билду больше не будет, так как он из сертификата прилетает, ну и оно более верно с идеологической точки зрения, чем решение выше "на коленке". По сути там тоже самое и хэш sha256 используется. Но заморочек чуть больше. Понятно, что проверку на аутентичность в Windows такой сертификат не пройдёт (для этого его покупать надо), но как своя собственная цифровая подпись — почему бы и нет. На работе у нас сертификат куплен, раньше это был просто pfx файл с паролем, а сейчас запущен сервер подписи, я ему кидаю файл, а он мне возвращает подписанный.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

AndreyDmitriev писал(а): 28 апр 2025, 20:32
JohnChaban писал(а): 28 апр 2025, 19:05
jane_wild писал(а): 28 апр 2025, 17:18 Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Не очень понятень порядок действий как вы делали?
Откройте проект, сгенерите exe файл, закройте проект, откройте его снова и ничего не меняя, снова сгенерите. Exe файлы могут получиться разные.
А что значит разные где это увидеть можно?
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 746
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2014
Откуда: Город Сосновый Бор Ленинградская Область
Поблагодарили: 1 раз
Контактная информация:

Re: Индификация программы Labview

Сообщение JohnChaban »

AndreyDmitriev писал(а): 28 апр 2025, 20:32
JohnChaban писал(а): 28 апр 2025, 19:05
jane_wild писал(а): 28 апр 2025, 17:18 Проверила на рабочем проекте. Все работает. Правда пришлось с путями повозится, поскольку vi в моем проекте, где происходила проверка на подлинность был "закопан" глубже.
Проверила - это действительно так. Скомпилировала, Post-Build-Action сгенерировал файл. Я его посмотрела, скомпилировала снова, (не открыв в проекте ни одного vi) снова посмотрела файл. Сумма абсолютно другая! Спасибо AndreyDmitriev :thank: стала чуть чуть умнее :D
Не очень понятень порядок действий как вы делали?
Откройте проект, сгенерите exe файл, закройте проект, откройте его снова и ничего не меняя, снова сгенерите. Exe файлы могут получиться разные.
Последний раз редактировалось JohnChaban 29 апр 2025, 08:54, всего редактировалось 3 раза.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»