Узнать код из exe
-
- interested
- Сообщения: 2
- Зарегистрирован: 20 июл 2009, 21:58
- Версия LabVIEW: 8.2
- Контактная информация:
Узнать код из exe
Добрый вечер. Возникла потребность узнать код программы по exe файлу. exe с оборудованием national instruments, и я так понимаю просто получить его не удастся?
в labview блочок, а из чего он состоит не понятно
в labview блочок, а из чего он состоит не понятно
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: узнать код из exe
Из экзешника ты код программы не вытянешь. Тут reverse engeneering не работает.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: узнать код из exe
Переименуй exe в llb и открой с помощью . При этом будет показана только структура (названия приборов, подприборов и может быть лицевые панели) без блок диаграмм, и то это работает только в старых версиях.
-
crashwork
- adviser
- Сообщения: 205
- Зарегистрирован: 17 фев 2009, 19:57
- Награды: 2
- Версия LabVIEW: 8.5, 9.0
- Откуда: Украина. Кременчуг
- Контактная информация:
Re: Узнать код из exe
Только, что открыл проект который создавался в 8.5 в 2009 и оттуда сгенерил экзешник. После этого архиватор winrar стал воспринимать такой экзешник как архив и предлагает извлечь файлы. После извлечения получил все , контролы, хконтролы которые зашивал. Правда блок-диаграмм вроде нельзя посмотреть, но все равно как-то меня такой момент не радует. А вот экзешник полученный из 8.5 вообще не воспринимается архиватором. Кто-то обращал на это внимание? Может какую то галочку дополительную надо поставить в 2009, что бы такого не было?
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Узнать код из exe
Да, и в 8.6 .exe не воспринимается архиватором
А в 2009 winrar предлагает извлечь файлы
А в 2009 winrar предлагает извлечь файлы
-
crashwork
- adviser
- Сообщения: 205
- Зарегистрирован: 17 фев 2009, 19:57
- Награды: 2
- Версия LabVIEW: 8.5, 9.0
- Откуда: Украина. Кременчуг
- Контактная информация:
Re: Узнать код из exe
Вот и именно. Блин, мне это вообще не нравится. Вот таким простым способом можно получить все ресурсы зашитые в exe. Вроде и не страшно (мне не жалко) но тем не менее.Viktor писал(а):Да, и в 8.6 .exe не воспринимается архиватором
А в 2009 winrar предлагает извлечь файлы
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Узнать код из exe
нда уж вот и сюрприз))
кстати мне тут знающие люди сказали что например вордовские файлы от офиса 2007 тоже открываются раром в виде дерева каких то папок
может это просто такая общемировая тенденция, а вовсе не недороботка NI? надо будет этот вопрос им задать на конференции.
кстати мне тут знающие люди сказали что например вордовские файлы от офиса 2007 тоже открываются раром в виде дерева каких то папок
может это просто такая общемировая тенденция, а вовсе не недороботка NI? надо будет этот вопрос им задать на конференции.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
crashwork
- adviser
- Сообщения: 205
- Зарегистрирован: 17 фев 2009, 19:57
- Награды: 2
- Версия LabVIEW: 8.5, 9.0
- Откуда: Украина. Кременчуг
- Контактная информация:
Re: Узнать код из exe
Обязательно спросите. Я не склонен думать, что это недоработка NI, ибо это надо очень жестко извиняюсь "протупить". Скорей конечно "так все и было задумано". Правда зачем?Indey писал(а):нда уж вот и сюрприз))
кстати мне тут знающие люди сказали что например вордовские файлы от офиса 2007 тоже открываются раром в виде дерева каких то папок
может это просто такая общемировая тенденция, а вовсе не недороботка NI? надо будет этот вопрос им задать на конференции.
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Узнать код из exe
да кстати . спросили. ответа не получили.crashwork писал(а):Обязательно спросите. Я не склонен думать, что это недоработка NI, ибо это надо очень жестко извиняюсь "протупить". Скорей конечно "так все и было задумано". Правда зачем?Indey писал(а):нда уж вот и сюрприз))
кстати мне тут знающие люди сказали что например вордовские файлы от офиса 2007 тоже открываются раром в виде дерева каких то папок
может это просто такая общемировая тенденция, а вовсе не недороботка NI? надо будет этот вопрос им задать на конференции.
так что выходов два либо задать этот вопрос на labview.ru, может быть когда-нибудь ответят, либо искать на заморских форумах.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- interested
- Сообщения: 1
- Зарегистрирован: 07 сен 2010, 22:36
- Версия LabVIEW: 7
- Контактная информация:
Re: Узнать код из exe
Сори что поднимаю старую тему, но вопрос такого же плана! Есть exe созданный в 7.1, при переименовании в llb открываются все из которых он состоит, но из них открываются только в котором находится морда программы, но редактировать нечего не дает, остальные даже не открываются 7.1 говорит ресурсы не найдены, код ошибки загрузки 3, Could not load front panel, это чего то не в самом ? и есть какието методы разобрать ехе файл или программы для этого???
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: Узнать код из exe
Дело тут вот в чём. VI в принципе состоит из трёх частей-ресурсов: блок-диаграмма, передняя панель и скомпилированный код (строго говоря ресурсов там больше, но эти три - основные для понимания). Пока мы находимся в режиме разработки, то всегда присутствуют все три части. При компиляции в исполняемый файл блок-диаграммы удаляются, а также удаляются ненужные передние панели (компилятор достаточно интеллектуален, чтобы разобраться - какие панели удалить, а какие оставить). Остаётся только код. Файл без блок-диаграмы открыть в LabVIEW невозможно, равно как и невозможно восстановить блок-диаграмму по скомпилированному коду. Кстати, компиляция - не единственный способ удалить блок-диаграмму или переднюю панель, это можно сделать включив соотвествующие опции при массовом сохранении файлов (не в диалоге Save As, а в Source Distribution). В версии 2010 вроде как можно явно разделить VI на две части, сохранив скомпилированный код отдельно от VI (сути это не меняет) - детально я ещё не смотрел, всё руки не доходят.
До версии 2009 исполняемые файлы представляли по сути своей llb файл с небольшим заголовком - загрузчиком. Отсюда возможность открыть исполняемый файл как llb библиотеку простым переимнованием. Начиная с версии 8 из заголовка был убран флаг библиотеки, так что такой простой трюк с переименованием перестал срабатывать, однако суть осталась та же - можно просто "отрезать" в шестнадцатеричном редакторе начало исполняемого файла до сигнатуры RSRC и он откроется как llb. Начиная с версии 2009 исполняемый файл представляет собой обыкновенный zip архив с поддиректориями (и разумеется заголовком, позволяющим архиву "прикинуться" исполняемым файлом). Такая структура дала возможность легко разрешить конфликт при использовании SubVI с одинаковыми именам в различных классах или библиотеках. WinRar достаточно продвинутый и видит внутри исполняемого файла архив, ну и предлагает его распаковать, так что чуда никакого нет. В компиляторе 2009, кстати есть опция генерировать исполняемый файл в формате 8.6 - это как раз режим, когда будет создаваться монолитная llb.
Всё, что можно сделать с исполняемым скомпилированным файлом - преобразовать его в набор SubVI (но без блок-диаграмм). Таким образом можно в принципе получить примерное представление о внутренней структуре программы. Теоретически можно использовать вытащенные из исполняемого файла SubVI в своей программе (без возможности модификации, кроме того версия LabVIEW должна строго совпадать с версией, использованной для компиляции). Файлы без блок-диаграмм и передних панелей невозможно открыть в LabVIEW напрямую, однако такие файлы можно использовать в блок-диаграмме (правда те, что без передних панелей знаками вопросиков будут отображаться). Также следует помнить, что в исполняемом файле находятся все библиотечные SubVI (те, что обычно лежат в vi.lib) и они слинкованы друг с другом, так что как правило такие трюки приводят к конфликтам. Теоретически можно подменить отдельные SubVI на свои собственные и собрать исполняемый файл заново. Продвинутые пользователи перед компиляцией шифруют имена файлов типа Check License.vi -> 1243A234E21321.vi , чтобы любопытствующим было чуть труднее разобраться.
Единственный раз, когда я этим пользовался, был вызван небходимостью передать файл с картинкой в одну из утилит NI через командную строку (единственная возможность, которую предоставил NI - открытие файла через меню, что меня достало неимоверно). Утилита была написана на LabVIEW, так что (отложив подальше лицензионное соглашение) я преобразовал её в LLB, сделал небольшую обёртку, принимающую параметры командной строки и собрал всё заново.
Где-то так.
До версии 2009 исполняемые файлы представляли по сути своей llb файл с небольшим заголовком - загрузчиком. Отсюда возможность открыть исполняемый файл как llb библиотеку простым переимнованием. Начиная с версии 8 из заголовка был убран флаг библиотеки, так что такой простой трюк с переименованием перестал срабатывать, однако суть осталась та же - можно просто "отрезать" в шестнадцатеричном редакторе начало исполняемого файла до сигнатуры RSRC и он откроется как llb. Начиная с версии 2009 исполняемый файл представляет собой обыкновенный zip архив с поддиректориями (и разумеется заголовком, позволяющим архиву "прикинуться" исполняемым файлом). Такая структура дала возможность легко разрешить конфликт при использовании SubVI с одинаковыми именам в различных классах или библиотеках. WinRar достаточно продвинутый и видит внутри исполняемого файла архив, ну и предлагает его распаковать, так что чуда никакого нет. В компиляторе 2009, кстати есть опция генерировать исполняемый файл в формате 8.6 - это как раз режим, когда будет создаваться монолитная llb.
Всё, что можно сделать с исполняемым скомпилированным файлом - преобразовать его в набор SubVI (но без блок-диаграмм). Таким образом можно в принципе получить примерное представление о внутренней структуре программы. Теоретически можно использовать вытащенные из исполняемого файла SubVI в своей программе (без возможности модификации, кроме того версия LabVIEW должна строго совпадать с версией, использованной для компиляции). Файлы без блок-диаграмм и передних панелей невозможно открыть в LabVIEW напрямую, однако такие файлы можно использовать в блок-диаграмме (правда те, что без передних панелей знаками вопросиков будут отображаться). Также следует помнить, что в исполняемом файле находятся все библиотечные SubVI (те, что обычно лежат в vi.lib) и они слинкованы друг с другом, так что как правило такие трюки приводят к конфликтам. Теоретически можно подменить отдельные SubVI на свои собственные и собрать исполняемый файл заново. Продвинутые пользователи перед компиляцией шифруют имена файлов типа Check License.vi -> 1243A234E21321.vi , чтобы любопытствующим было чуть труднее разобраться.
Единственный раз, когда я этим пользовался, был вызван небходимостью передать файл с картинкой в одну из утилит NI через командную строку (единственная возможность, которую предоставил NI - открытие файла через меню, что меня достало неимоверно). Утилита была написана на LabVIEW, так что (отложив подальше лицензионное соглашение) я преобразовал её в LLB, сделал небольшую обёртку, принимающую параметры командной строки и собрал всё заново.
Где-то так.
Re: Узнать код из exe
Добрый день.
Тоже есть необходимость открыть exe в Labview. Пробовал переименовывать в llb, в rar, открывать в версиях 7.1, 8.6, 2009. Во всех случаях пишет, что файл is not readable или не является библиотекой llb.
Затеяно все это по необходимости поменять цвет фона окна исполняемого exe. Поскольку переименованиями этого не удалось добиться, возникла мысль исправить цвет окна в HEX редакторе. Было предпринято множество поисков и попыток, увы, безуспешных. Пробовал также содавать exe с разными цветами фона окна, затем искал отличия в hex файле - также беспросветно.
Может кто-нибудь подсказать где искать? Или отправить в заданном направлении где можно что-то почитать о структуре создаваемого exe файла из LabView?
Спасибо.
Тоже есть необходимость открыть exe в Labview. Пробовал переименовывать в llb, в rar, открывать в версиях 7.1, 8.6, 2009. Во всех случаях пишет, что файл is not readable или не является библиотекой llb.
Затеяно все это по необходимости поменять цвет фона окна исполняемого exe. Поскольку переименованиями этого не удалось добиться, возникла мысль исправить цвет окна в HEX редакторе. Было предпринято множество поисков и попыток, увы, безуспешных. Пробовал также содавать exe с разными цветами фона окна, затем искал отличия в hex файле - также беспросветно.
Может кто-нибудь подсказать где искать? Или отправить в заданном направлении где можно что-то почитать о структуре создаваемого exe файла из LabView?
Спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение