Узнать код из exe

Создание приложений, библиотек, инсталляторов
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1225
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Репутация: 0
Версия LabVIEW: 6.1 - 2016
Откуда: Германия
Контактная информация:

Re: Узнать код из exe

Сообщение AndreyDmitriev »

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

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3507
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Узнать код из exe

Сообщение dadreamer »

AndreyDmitriev писал(а):Да, маленькое уточнение - файлы, созданные в версии 2010 в принципе похожи на файлы 2009, но zip поток там слегка зашифрован, так что трюк с открытием исполняемого файла бытовым архиватором перестал работать.

Дополню старую тему кое чем полезным. Чтобы распаковать экзешник в современных версиях :labview: , нужно сделать следующее:
1. Распаковываем exe архиватором 7-Zip или Universal Extractor'ом в отдельный каталог;
2. Открываем файл \.rsrc\RCDATA\2 в программе LVARextractor.vi, задаём результирующий файл в виде *.zip, запускаем;
3. Находим наш архив, извлекаем из него содержимое любым архиватором и можем пользоваться. :) Естественно, все :vi: будут без БД и по ним мало что можно узнать, как выше было написано, но вдруг кому-то пригодится.
Вложения
UnCRC_LVZip.vi
LV2011
(33.98 КБ) 198 скачиваний
LVARextractor.vi
LV2011
(12.37 КБ) 202 скачивания

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3507
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Узнать код из exe

Сообщение dadreamer »

Появился новый альтернативный способ: https://github.com/mefistotelis/pylabview Необходим третий питончик (у меня 3.8.3) и пакет Pillow:
pip3 install pillow
Дальше всё просто, как два пальца об асфальт:
1. Распаковываем exe архиватором 7-Zip в отдельный каталог;
2. Берём файл \.rsrc\RCDATA\2 и кладём его рядом с readRSRC.py;
3. .\readRSRC.py -x -i ./2;
4. Распаковываем архиватором файл 2_LVzp.bin и получаем :vi: -айки.

Также имеется некоторый прогресс в распаковке упакованных библиотек lvlibp (не выше LV2014 включительно). Инструкция не самая простая и всё ещё экспериментальная, так что на свой страх и риск. :wink: upd: новая инструкция
Последний раз редактировалось dadreamer 15 июн 2020, 15:01, всего редактировалось 1 раз.

Usss
assistant
assistant
Сообщения: 134
Зарегистрирован: 19 апр 2017, 23:06
Репутация: 0
Версия LabVIEW: 2018

Re: Узнать код из exe

Сообщение Usss »

Версии lv до 2014 вообще забавные. Сам видел как с запароленных виаек убирают пароль нехитрым скриптом.

Artem.spb

Activity Автор
expert
expert
Сообщения: 1937
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

Re: Узнать код из exe

Сообщение Artem.spb »

Usss писал(а):
15 июн 2020, 11:34
Версии lv до 2014 вообще забавные. Сам видел как с запароленных виаек убирают пароль нехитрым скриптом.
почему только до 14? я и в старших версиях снимал

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3507
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Узнать код из exe

Сообщение dadreamer »

Usss писал(а):
15 июн 2020, 11:34
Версии lv до 2014 вообще забавные. Сам видел как с запароленных виаек убирают пароль нехитрым скриптом.
Вообще с любой версии можно убрать за пару кликов мыши. NI позднее стали говорить, что защита паролем не для юзерской защиты, а для них самих, чтобы случайно не поменять какие-то :vi: на этапе разработки :D В классической :labview: эта псевдо-защита не будет никак ни улучшаться, ни изменяться. Лучше предпочесть сторонние методы защиты кода, если это важно.

Usss
assistant
assistant
Сообщения: 134
Зарегистрирован: 19 апр 2017, 23:06
Репутация: 0
Версия LabVIEW: 2018

Re: Узнать код из exe

Сообщение Usss »

dadreamer писал(а):
15 июн 2020, 12:37
Usss писал(а):
15 июн 2020, 11:34
Версии lv до 2014 вообще забавные. Сам видел как с запароленных виаек убирают пароль нехитрым скриптом.
Вообще с любой версии можно убрать за пару кликов мыши. NI позднее стали говорить, что защита паролем не для юзерской защиты, а для них самих, чтобы случайно не поменять какие-то :vi: на этапе разработки :D В классической :labview: эта псевдо-защита не будет никак ни улучшаться, ни изменяться. Лучше предпочесть сторонние методы защиты кода, если это важно.
Видимо после 2014 они изменили схему установки пароля и старый скрипт перестал работать.

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3507
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Узнать код из exe

Сообщение dadreamer »

Usss
Не знаю, про какой старый скрипт идёт речь, но тот же pylabview отлично справляется с задачей, проверил только что на :labview: 2020.

Ответить

Вернуться в «Создание приложений»