Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
9 / 9 / 7
Регистрация: 01.03.2015
Сообщений: 182

Запустить exe файл из ресурсов не создавая временный файл

03.09.2016, 14:02. Показов 7671. Ответов 87
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня есть в ресурсах массив байтов, который по сути является .exe файлом. мне нужно запустить это массив байтов как .exe файл. Такое решение не предлагать: "Создать файл, записать в него массив байтов и запустить файл", т.к. мне это желательно сделать не создавая лишних файлов

Добавлено через 5 минут
запуск должен быть с параметрами
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2016, 14:02
Ответы с готовыми решениями:

Запустить exe-файл из ресурсов
Всем доброго времени суток. У меня возникла потребность в запуске экзкшного файла который находится в ресурсах. Необходимо вытащить...

Как запустить файл exe из ресурсов
я запихнул файл exe в ресурс в basic теперь мне надо что бы при нажатии на button этот ресурс воспроизвелся!!!!

Как запустить exe файл из ресурсов в RAD Studio XE6
Здравствуйте, помогите мне, я в RAD Studio XE6 добавил ехе файл в ресурсы таким вот образом project=> Resources and Inages=> add и...

87
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
01.09.2025, 19:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ashaxm Посмотреть сообщение
Или может быть поместить в ресурсы проекта оболочки как byte а при выполнении условия переименовать в .ехе
Надо все равно создавать временный файл. Запустить его, потом удалить, никто и не узнает, что файл ЕХЕ лежит в проге. А как хранить его, тут на выбор, можно в данные или ресурсы.
1
Эксперт .NET
 Аватар для Rius
13018 / 7584 / 1660
Регистрация: 25.05.2015
Сообщений: 23,041
Записей в блоге: 14
01.09.2025, 20:01
Цитата Сообщение от a380 Посмотреть сообщение
создавать временный файл. Запустить его, потом удалить, никто и не узнает
systeninternals filemon узнает.

Программа, находящаяся в физической доступности злоумышленника, не может быть защищена ничем.
Вопрос только в соотношении профита и затрат.
1
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
01.09.2025, 20:15
Цитата Сообщение от Rius Посмотреть сообщение
systeninternals filemon узнает.
Для бытового применения потянет. Чтобы кучу DLL например не таскать, запихнул в один файл и запускай их по надобности. На работе например, все свои.
А так да, глупости это все - чужие проги запускать, свою напиши, исходники есть, можно выбрать.
0
01.09.2025, 21:19

Не по теме:

любопытно, неужто WinAPI CreateProcess умеет втискивать новый процесс в существующий ??
Я говорил про концептуально идею, а не реализацию. Если такое невозможно арпиори -- тогда тем более не стоит пытаться так делать. (✿◠‿◠) Может более шарящие знают как эмулировать выполнение кода из одной программы в другой, но на мой взгляд всё это от лукавого.

0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3376 / 2678 / 573
Регистрация: 04.09.2018
Сообщений: 8,493
Записей в блоге: 3
01.09.2025, 21:32
Инжектированием, в основном, занимаются вирусописатели. И это делается на C++. Но вроде бы, из контекста вопроса не требуется внедрять один процесс в другой. Чел хочет "невидимо" запустить сторонний exe..
1
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
01.09.2025, 21:46
Цитата Сообщение от wizard41 Посмотреть сообщение
это делается на C++
Можно и батником добавить в конец файла, ума не надо. Потом двигаешь в нужную позицию своей проги и читаешь на известную длину, любой язык это может. Вирусы тоже на любом языке.

В вопросе было про байты или про запуск, все как обычно - хочу все, не знаю что, думайте.
0
Эксперт .NET
 Аватар для Wolfdp
3781 / 1755 / 371
Регистрация: 15.06.2012
Сообщений: 6,516
Записей в блоге: 3
01.09.2025, 23:39

Не по теме:

Цитата Сообщение от wizard41 Посмотреть сообщение
Инжектированием, в основном, занимаются вирусописатели
где-то сейчас фыркнула целая толка мододелов и читеров.



Ashaxm,
Можно чуть подробней, какая изначально задача решается? Пользователь не должен вытащить ваш второй exe вне основной программы? Этот второй exe на .net, или вообще рандомная программа?
1
02.09.2025, 09:05

Не по теме:

Цитата Сообщение от Wolfdp Посмотреть сообщение
целая толка мододелов и читеров
Ага, я этих тоже имел в виду.

0
1 / 1 / 0
Регистрация: 01.11.2016
Сообщений: 57
02.09.2025, 10:57
Цитата Сообщение от Wolfdp Посмотреть сообщение
Пользователь не должен вытащить ваш второй exe вне основной программы? Этот второй exe на .net
Именно так. Всё на vb.net Оболочка проверяет условие и запускает или не запускает ехе-файл. К которому юзер не должен иметь доступа.
0
Эксперт .NET
 Аватар для Rius
13018 / 7584 / 1660
Регистрация: 25.05.2015
Сообщений: 23,041
Записей в блоге: 14
02.09.2025, 10:59
Второй exe файл на чём написан?

Почему юзер не должен иметь доступа?
0
1 / 1 / 0
Регистрация: 01.11.2016
Сообщений: 57
02.09.2025, 11:05
Цитата Сообщение от Rius Посмотреть сообщение
Почему юзер не должен иметь доступа?
Написан на С++ имхо. Больше я ничего не могу знать. Таковы условия поставленой мне задачи.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3376 / 2678 / 573
Регистрация: 04.09.2018
Сообщений: 8,493
Записей в блоге: 3
02.09.2025, 12:35
Ashaxm, как уже сказали - на 100% от пользователя ничего скрыть не выйдет.
Самый оптимальный вариант: ложишь свой exe в ресурсы "запускатора". Когда нужно его запустить - твое приложение распаковывает его куда нибудь в %userprofile%\%appdata%, запускает с передачей параметров.. Пользователь при этом ничего не видит и не знает откуда оно взялось..

После закрытия этот exe тайком удаляется.

Добавлено через 1 минуту
Обычный юзер ничего не поймет и не найдет. А более менее толковый и из твоего приложения выковыряет, если надо...

Добавлено через 3 минуты
Цитата Сообщение от wizard41 Посмотреть сообщение
от пользователя
От ОС (системы) имелось в виду. А тут уже кто как умеет с ней работать и какими инструментами..
0
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
02.09.2025, 14:51
Ashaxm,
И наверное в автозапуске прописан ? Вот там юзер его и найдет случайно. Гарантия 100%.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3376 / 2678 / 573
Регистрация: 04.09.2018
Сообщений: 8,493
Записей в блоге: 3
02.09.2025, 15:23
Могу конечно подсказать вариант, но он достаточно сложный.
Выкинуть содержимое ресурса в MemoryStream, получить на него указатель и попытаться запустить его от туда. Без физического копирования на диск. Но автор вопроса явно с этим не справится сам.
1
1 / 1 / 0
Регистрация: 01.11.2016
Сообщений: 57
02.09.2025, 15:32
Цитата Сообщение от wizard41 Посмотреть сообщение
не справится сам
Спасибо! вот это то что хотелось бы. Да, самому будет сложновато и долго, не приходилось. А подсказать плз? хотя бы какой минимум.
0
Эксперт .NET
 Аватар для Wolfdp
3781 / 1755 / 371
Регистрация: 15.06.2012
Сообщений: 6,516
Записей в блоге: 3
02.09.2025, 16:06
Цитата Сообщение от wizard41 Посмотреть сообщение
Выкинуть содержимое ресурса в MemoryStream, получить на него указатель и попытаться запустить его от туда. Без физического копирования на диск.
На StackOverflow пишут что без файла винда откажется сотрудничать.

Цитата Сообщение от wizard41 Посмотреть сообщение
Когда нужно его запустить - твое приложение распаковывает его куда нибудь в %userprofile%\%appdata%
Я бы отталкивался от этого, опционально докинув такое:
- попробовать использовать Access Control List. Гуглим, там всё просто.
- сам файл создавать как системный и скрытый (антивирус будет в восторге). Если получиться задействовать ACL, то этот пункт несколько бессмысленный.
- в самом приложении зашифровать исходный exe, а сам пароль обфусцировать и применять SecureString. Хотя тут вообще всё приложение обфусцировать нужно в любом случае.
- если не получится задействовать ACL, хранить не просто в AppData, а в менее очевидном месте. Проблема в том, что пользователю 100% доступна только его системная папка юзера (в которую и входит этот самый AppData), так что сильно не разгуляешься (либо запрашивать права админа)
- подписываться на закрытие приложения и грохать файл.

Ломается к сожалению очень просто:
- в диспетчере палим запуск вашего приложения и там же палим путь к нему.
- грохаем хост-приложение, чтобы оно не смогло "кильнуть" нужный exe.
- либо переводим систему в сон/гибернацию и смотрим.
- либо на vm делаем снепшот и дальше ковыряем вирутальный диск
- либо любыми средствами проксируем запись на диск и куда-то складируем дубликаты.
0
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
02.09.2025, 16:08
Цитата Сообщение от wizard41 Посмотреть сообщение
попытаться запустить его от туда
СОМ файлы сразу начинались с кода, это прокатывало. С ЕХЕ все сложно. Парсер заголовка нужен и вручную делать то, что делает Винда.
0
23 / 20 / 1
Регистрация: 15.06.2018
Сообщений: 432
02.09.2025, 16:09
little hacker, я так понял, ты пытаешься запустить программу которая в байтах в самом коде ?
Если так тогда через прогу которая запускала ранее эту программу есть компилятор, который собирает этот кусок байтов сохраняет программу примерно в папки темп запускает ее выполняет действие закрывает и удаляет.
Сейчас подробно не могу описать и пример привести как это происходит т.к я с телефона сижу, но если я правильно понял твой вопрос я так делал с DLL файлами чтобы скрыть их т.к это был чит и он внедрился в игру при помощи длл а длл нужно было шифровать разными методами
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3376 / 2678 / 573
Регистрация: 04.09.2018
Сообщений: 8,493
Записей в блоге: 3
02.09.2025, 17:48
Цитата Сообщение от Wolfdp Посмотреть сообщение
На StackOverflow пишут
Ну на SO много что пишут. Я сам с exe не пробовал (не было необходимости), но... если немного смухлевать + unsafe == думаю можно. Я не зря сказал про указатель и еще ранее сказал про С++. Там такие штуки проворачиваются на раз.

Добавлено через 2 минуты
Цитата Сообщение от a380 Посмотреть сообщение
Парсер заголовка нужен
Без проблем. Его вычитать можно и из памяти.
0
1 / 1 / 0
Регистрация: 01.11.2016
Сообщений: 57
02.09.2025, 17:56
Цитата Сообщение от pafka1997 Посмотреть сообщение
через прогу которая запускала ранее эту программу есть компилято
это не понятно.
Но да, нужно что-то подобное, если сможешь дай образец то что работает плз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2025, 17:56
Помогаю со студенческими работами здесь

Запустить exe-файл и нажать на кнопку этого exe (файл delphi)
Как осуществить с помощью php: На сайте нажимаю кнопку, далее, после нажатия: 1) идет запуск exe (delphi файл) на сервере 2)...

Запустить BAT-файл из ресурсов
Нужно склеить (склеить могу) bat и готовый exe проекта, что прописать в проект, что бы при нажатии на кнопку запускалась эта команда?

Как запустить vbs файл из ресурсов?
Как запустить vbs файл из ресурсов ?

Как запустить VBS файл из ресурсов?
Здравствуйте уважаемые, мне нужно запустить 1 VBS файл из ресурсов и до меня не доходит как. Видел такой код: ...

Как запустить из ресурсов Торрент-файл
Я залил в ресурсы "Торрент файл" Как мне осуществить его открытие на кнопку? Во 1: Что бы (Торрент файл) Был в строен в саму...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru