Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59

Запуск exe из ресурсов без распаковки

03.07.2012, 16:31. Показов 6579. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

Сразу оговорка: нужно для легальных целей - защита другой программы от декомпиляции. Никаких вирусов и прочих вредителей...

Можно ли запустить exe из ресурсов без распаковки на диск? И лучше перед запуском проводить манипуляции с его бинарным кодом (дешифровка, например)...

Суть в следующем: есть программа, написанная на ЯП AutoIt, декомпилировать которую - дело 5 секунд. А код Си++, насколько я знаю, декомпилировать нельзя (только про дизассемблер не говорите, у целевой аудитории нет таких познаний). Вот и возникла идея - модуль на Си запрашивает пароль, если правильный - запускает основную прогу. Чтобы исключить распаковку редакторами ресурсов, хочется применить какую-нибудь простейшую шифровку ресурса с exe...

Возможно ли такое? Заранее спасибо за ответ.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2012, 16:31
Ответы с готовыми решениями:

Запуск exe из ресурсов без распаковки на диск
Всем привет, как спрятать exe файл и запустить его в своей программе "не извлекая на диск"? Как я понял это делается через ресурсы,...

Запуск приложения из ресурсов (без распаковки на диск)
Добрый день всем! Возникла необходимость запуска стороннего приложения, в формате exe-фала. Причем надо сделать так, чтобы данный...

Запуск исполняемого файла из ресурсов без распаковки на диск
Вообщем нужна помощь как запустить .ехе с процесса программы по нажатию кнопки, не копируя .ехе на диск ... Вот нашёл код : ...

18
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
03.07.2012, 23:22
Запустить exe не иначе как отдельным файлом в специальном формате не позволяет ОС. Возможно, как-то и можно, но это уже хак.
0
20 / 20 / 2
Регистрация: 01.05.2012
Сообщений: 61
04.07.2012, 02:16
Возможно; придётся самому выполнить всю работу виндового лоадера - настройки аддрессов из импортов и т.д.

Добавлено через 4 минуты
То, что вы собиратесь писать, называется Molebox (не сочтите за рекламу!) - ничего на диск не пишется.
Попробуйте, также, обратиться к ThinApplication от VMWare.
1
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 11:03  [ТС]
rlib
За Molebox спасибо, буду пробовать... Жаль, конечно, то не самописная программа\код с++, но все же выход.

UPD: правда, у него лицензия Shareware...
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:07
Если целю является только защита от декомпиляции, можно использовать паковщик ехе файлов. Например mpress не позволяет "расжать" файл (в отличии от наипопулярнейшего upx).
1
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 11:17  [ТС]
Deviaphan
Спасибо, но он мне, к сожалению, не подходит... При запуске сжатого exe выдает ошибку а-ля не найден файл скрипта (AutoIt - интерпретируемый язык, exe=autoit3.exe+script.au3, зашитый в его недрах.). Но качество упаковки радует, буду использовать в других проектах

Пробовал кучу разных упаковщиков\протекторов, из них половина вываливалась с ошибкой, а половина игнорировалась декомпилятором... Для уменьшения размера пользуюсь FSG, но он легко обходится...
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:24
Можно через обфускатор прогнать. Тогда студенты (а у кого ещё знаний может не хватить?) не смогут получить читабельный код и, как минимум, им придётся думать, как же эта каша работает.)

Добавлено через 1 минуту
Цитата Сообщение от Sky-WaLkeR Посмотреть сообщение
Но качество упаковки радует
Вполне возможно, что файл скрипта при упаковке отбросился, если он как-нибудь нестандартно к ехе прикреплен.) Но в 2-10 раз сжимает махом в большинстве exe/dll.
0
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 11:25  [ТС]
Тоже пробовал, декомпилятор "деобфусцирует" на лету...
Был вариант записывать все строки в бинарном виде и на лету разворачивать, тогда читать действительно трудно, но все же открыть легко...
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:27
О! Ещё вот этот попробуй, может с ним заработает http://ru.wikipedia.org/wiki/PECompact
0
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 11:30  [ТС]
Пробовал, декомпилятор открывает (но ошибку не дает).
Пробовал: FSG, Mew11, ASPack, PECompact, UPX, Private exe Protector, теперь еще и mpress
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:33
Трям...
Тогда я тоже за ThinApplication. Но размер увеличится, а не уменьшится.)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
04.07.2012, 12:14
Я бы поступил так:

1) скрипт захорировать (причем, не одним байтом, а блоком байтов на 1000)
2) написать на C++ "запускач"
3) слить (двоично) запускач и хорированный скрипт
4) запускач при запуске (после запроса пароля) лезет в собственный хвост, расшифровывает скрипт и сохраняет его под случайным именем в Tmp, запускает оттуда, ждет завершения, удаляет из Tmp...
1
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 12:21  [ТС]
Вариант хороший, но тоже есть своя засада: при распаковке на диск юзер может отловить скрипт в его первоначальном состоянии (например с помощью FileMon) и декомпилировать...

P.S: а что значит захорировать?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
04.07.2012, 12:42
Это да. Но в системах защиты нужно иметь чёткую модель угрозы (от кого защищаемся). Если ОН умеет пользоваться FileMon, то ОН - не совсем лох. Защитить от такого СКРИПТ проблематично.

Ха! А как запускается интерпретатор скриптового языка? Может быть сделать вот как:

1) просто захорировать (см. выше) скрипт
2) сделать фильтр-расшифровщик (берет упакованный поток из stdin, распакованный поток направляет в stdout)
3) сделать конвейер: расшифровщик | интерпретатор
4) все это запускать в скрытом окне...
0
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
04.07.2012, 13:11  [ТС]
Модель угрозы есть: не лох, но и не крут (в качестве его инструментов - FileMon, декомпилятор, все.).

Хм, идея интересная... Можешь показать пример?
Интерпретатор Autoit3.exe здесь
Исходный код здесь
Результирующий exe здесь
Компилятор, наверное, не стоит выкладывать... (скорость ужас, 1Мб грузит секунд 40) Но если надо, выложу.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
04.07.2012, 13:50
Все получил. Оказывается, я немного не понял постановку. Оказывается скрипт при использовании exe-файла не существует. И прятать надо не скрипт, а экзешник. Так что идея с конвейером не проходит. Но задача интересная. Буду думать.
0
1 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 23
12.08.2012, 10:45
А можно-ли создать новый процесс а старый закрыть?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
12.08.2012, 21:06
В принципе - да.
0
1 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 23
20.08.2012, 19:21
Нашел способ, сделал на PureBasic.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2012, 19:21
Помогаю со студенческими работами здесь

Запуск *.exe из ресурсов
Здравствуйте! Подскажите, как запустить исполняемый файл из ресурсов?

Запуск exe из ресурсов
Здравствуйте, есть приложение, написаное на .NET, требуется сделать, так сказать, нативную оболочку для него. Файл лежит в ресурсах,...

Запуск exe из ресурсов
Возможно ли создать некий контейнер для приложения, который запускал бы его внутри себя, то есть есть приложение 1.exe и контейнер 2.exe в...

Запуск exe из ресурсов программы
Я сейчас делаю АнтиХак лаунчер.. И хотелось бы узнать - А возможно ли засунуть Wow.exe во внутрь программы и запустить его изнутри.

Запуск exe-файла из ресурсов
Здравствуйте. Как сделать, чтобы при нажатии на кнопку запускался exe файл из ресурсов?? Если можно то весь код!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru