Есть ли какая-то информация о попытках декомпиляции кодов EXE файлов, сгенерированных Application Builder-ом NI LabVIEW? Если были попытки декомпиляции (и каким инструментом?), то до какого уровня удавалось восстановить исходники?
Можно ли потом работать с этими исходниками, редактировать, запускать на исполнение?
Декомпиляция EXE файлов NI LabVIEW ?
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: Декомпиляция EXE файлов NI LabVIEW ?
На этом форуме эта тема уже поднималась и если мне не изменяет память, то скомпилированные программы можно открыть при помощи WinRAR и получить доступ к VI у которых удалена лицевая панель, но доступ к коду можно получить. Возможно, будут защищены паролем (на данном форуме была тема обхода пароля, поищите по словам: защита паролем).В понедельник попробую на практике. Воз
Re: Декомпиляция EXE файлов NI LabVIEW ?
Пробовал защищать паролём открытие блок диаграммы. Нужно указать пароль, потом перейти в Run mode, а потом обязательно выйти из LabVIEW. Тогда при повторном запуске и попытке открыть блок диаграмму появится запрос пароля. Но, интуиция подсказывает, что это ненадёжно...Vasa писал(а): ...Возможно, будут защищены паролем (на данном форуме была тема обхода пароля, поищите по словам: защита паролем).
Можно защитить созданием полей ввода "Логин/Пароль", пример вместе с кодами на CD-ROM есть у Джеффри Трэвиса (4-е издание).
Но уязвимость, естественно, наступает после грамотной декомпиляции ЕХЕ файла. Можно защитить ссылками на коды используемого оборудования, ID компьютера. Но опять же, после декомпиляции и пошагового прохождения кодов всё это может быть выявлено.
Теперь пару слов с другого форума - цитирую:
Я сообщаю: ... а компилятор создаёт коды на языке C++
а мне отвечают: "...откуда такие данные? реверсил лабвью, чисто дотнетовская фигня, томозящая. "
А данные откуда - из документации и описаний. Сам не копал.
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Декомпиляция EXE файлов NI LabVIEW ?
Вы не очень разобрались с процессом компиляции. В скомпилированный файл ваши VI попадают вообще без блок-диаграмм. Они по умолчанию удаляются (хотя можно снять флажок удаления - это на вкладке Source File Settings в настройках, если в последних версиях). Передние панели тоже, кстати, удаляются, если они не нужны. Восстановить блок-диаграмму из исполняемого файла не получится, независимо от того, защищали вы паролем VI или нет. Скомпилированный файл по сути представляет собой библиотеку llb с загрузчиком (до версии 8.6 включительно). В последних версиях производится упаковка в zip. Теоретически можно получить общее представление о внутренней структуре программы, разобраться в иерархии, но не более того, кода оттуда не получить.
Что касается .net то там его нет и в помине. Под капотом у лабвью по сути опенсорсный компилятор LLVM. Блок-диаграммы разбираются на части, перебрасываются в представление, удобное для виртуальной машины LLVM и компилируются в машинный код. Чем-то очень отдалённо напоминает Java, но на более низком уровне, что ли.
Теоретически можно по машинным кодам восстановить исходный текст (понятно, что из примитивных структур генерятся узнаваемые паттерны), но пока такого инструмента ещё нет в природе.
В общем, курите мануалы:
http://www.ni.com/devzone/lvzone/dr_vi_archived6.htm
http://zone.ni.com/devzone/cda/pub/p/id/1177
http://llvm.org
Что касается .net то там его нет и в помине. Под капотом у лабвью по сути опенсорсный компилятор LLVM. Блок-диаграммы разбираются на части, перебрасываются в представление, удобное для виртуальной машины LLVM и компилируются в машинный код. Чем-то очень отдалённо напоминает Java, но на более низком уровне, что ли.
Теоретически можно по машинным кодам восстановить исходный текст (понятно, что из примитивных структур генерятся узнаваемые паттерны), но пока такого инструмента ещё нет в природе.
В общем, курите мануалы:
http://www.ni.com/devzone/lvzone/dr_vi_archived6.htm
http://zone.ni.com/devzone/cda/pub/p/id/1177
http://llvm.org
Re: Декомпиляция EXE файлов NI LabVIEW ?
Да я и не имел здесь в виду никакой компиляции, просто защита диаграммы паролём, есть такая услуга для файла.AndreyDmitriev писал(а):Вы не очень разобрались с процессом компиляции. В скомпилированный файл ваши VI попадают вообще без блок-диаграмм. Они по умолчанию удаляются...
Да, спасибо за мануалы! Закурил слегка... даже не в затяжку... голова кругом... это с непривычкиAndreyDmitriev писал(а): Что касается .net то там его нет и в помине. Под капотом у лабвью по сути опенсорсный компилятор LLVM. Блок-диаграммы разбираются на части, перебрасываются в представление, удобное для виртуальной машины LLVM и компилируются в машинный код. Чем-то очень отдалённо напоминает Java, но на более низком уровне, что ли.
И это хорошо! Аналогичного мнения некоторые представители тех, кого называют хакерами (сказали, что нет ничего не взламываемого, но будет очень дорого стоить )AndreyDmitriev писал(а): Теоретически можно по машинным кодам восстановить исходный текст (понятно, что из примитивных структур генерятся узнаваемые паттерны), но пока такого инструмента ещё нет в природе.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 9 Ответы
- 1845 Просмотры
-
Последнее сообщение BARD
-
- 16 Ответы
- 3263 Просмотры
-
Последнее сообщение Artem.spb
-
- 10 Ответы
- 2372 Просмотры
-
Последнее сообщение PAG
-
- 0 Ответы
- 1894 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2065 Просмотры
-
Последнее сообщение PozhiloyGoblin