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

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

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

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

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

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

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

Возможно ли такое? Заранее спасибо за ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2012, 16:31
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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

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

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

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

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

Хм, идея интересная... Можешь показать пример?
Интерпретатор Autoit3.exe здесь
Исходный код здесь
Результирующий exe здесь
Компилятор, наверное, не стоит выкладывать... (скорость ужас, 1Мб грузит секунд 40) Но если надо, выложу.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36595 / 20325 / 4218
Регистрация: 12.02.2012
Сообщений: 33,625
Записей в блоге: 13
04.07.2012, 13:50 16
Все получил. Оказывается, я немного не понял постановку. Оказывается скрипт при использовании exe-файла не существует. И прятать надо не скрипт, а экзешник. Так что идея с конвейером не проходит. Но задача интересная. Буду думать.
0
1 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 23
12.08.2012, 10:45 17
А можно-ли создать новый процесс а старый закрыть?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36595 / 20325 / 4218
Регистрация: 12.02.2012
Сообщений: 33,625
Записей в блоге: 13
12.08.2012, 21:06 18
В принципе - да.
0
1 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 23
20.08.2012, 19:21 19
Нашел способ, сделал на PureBasic.
1
20.08.2012, 19:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2012, 19:21
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru