|
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
|
|
Запуск приложения из ресурсов (без распаковки на диск)03.09.2014, 09:01. Показов 7223. Ответов 12
Метки нет (Все метки)
Добрый день всем!
Возникла необходимость запуска стороннего приложения, в формате exe-фала. Причем надо сделать так, чтобы данный сторонний файл на диске не сохранялся. Зачем это мне нужно. Все просто. Есть желание разобраться в защите программ и когда-нибудь написать shareware-программу, защитив ее на определенное время от взлома и распространения. Методик на эту тему много: от подсчета crc файла, до шифрования кусков кода и выполнение их по мере необходимости. Можно использовать и все вместе. Погуглив на эту тему я понял, что толкового решения для Builder C++ нет. Все советуют или использовать сторонние утилиты (ExeCriptor, ASPProtect и т.д.) или реализовывать облачное выполнение. Облачное выполнение для большей части фрилансеров вещь довольно дорогая и не совсем понятная в реализации. Поэтому решил шифровать части (функции) своего приложения. Подумав на эту тему, пришел к выводу, что можно сделать несколько ехе-фалов, которые будут выполнять свою часть функционала, а эти ехе-файлы добавить в ресурсы. Конечно защита будет не очень сложная, но для большинства программистов, со стоимостью их программ в 1000 - 2000 руб. вполне пригодное. Создал несколько ехе-фалов, которые выводят просто окна-сообщения. Создал основное приложение, добавив в его ресурсы эти самые ехе-фалы. Теперь возник вопрос: как запустить выполнение ехе файла из ресурсов? Ведь просто сохранять файл на диск, а потом его запускать, будет глупостью несусветной, ибо ничто не мешает этот файл с диска просто сохранить в другую папку и все. Следовательно надо запускать файл без сохранения его на диске. Попутный вопрос: может я вообще не то реализую и есть какие-то способы проще?
0
|
|
| 03.09.2014, 09:01 | |
|
Ответы с готовыми решениями:
12
Запуск exe из ресурсов без распаковки на диск Запуск исполняемого файла из ресурсов без распаковки на диск Запуск exe из ресурсов без распаковки |
|
|
|
| 04.09.2014, 17:42 | |
|
3
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 28.06.2017, 20:42 | |
|
Приветствую всех. Заинтересовала эта тема. В функции
CreateFile необходимо указывать путь к файлу. В случае создания "временного" временного файла что указывать в параметре lpFileName?
0
|
|
|
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
|
|
| 03.07.2017, 13:17 | |
|
Смотри здесь https://github.com/codecrack3/... /RunPE.cpp
0
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 03.07.2017, 20:22 | |
|
ziqp, не увидел применения функции
CreateFile в коде по ссылке. Хотя, наверное, вопрос запуска файла из памяти там раскрыт.И все же. Если обычный исполняемый файл поместить в ресурсы приложения, то как его оттуда запустить используя функцию CreateFile и без сохранения на диск?
0
|
|
|
139 / 139 / 53
Регистрация: 14.06.2016
Сообщений: 467
|
|||
| 03.07.2017, 20:53 | |||
|
эта техника - довольно таки высший пилотаж. если желание очень сильное - гуглить ManualMapping и изучать структуру PE заголовка. но я всё таки советую ограничиться выгрузкой временного файла на диск.
1
|
|||
|
|
|||
| 03.07.2017, 21:07 | |||
|
Очевидно то что ответил BRcr не является прямом ответом на поставленный вопрос ибо подразумевают выгрузку файла из ресурсов на диск и запуск его с диска.Просто используется временный файл. По крайней мере это то что я понял. А вот ответ ziqp, интересен. (Хотя лично сомневаюсь что там рабочий код) Добавлено через 6 минут
0
|
|||
|
Ушел с форума
|
||
| 03.07.2017, 21:45 | ||
|
В последних Windows столько всего наворотили, что сделать качественный PoC на тему "load exe from memory", который был бы для системы неотличим от "нормального" exe, - задача практически нереальная. Такие вещи только для мелких трюков типа выполнить 20 байт и быстро завершиться, пока все не грохнулось.
0
|
||
|
Ушел с форума
|
|
| 03.07.2017, 21:53 | |
|
О, да!
Но мне как-то показывали один трюк, который работает в том числе и на последних версиях Windows - сохранить exe-файл в NTFS-поток, а затем запустить его оттуда. После чего поток можно удалять. Все никак руки не дойдут поковырять этот способ (например, куда будут выгружаться страницы памяти при нехватке ресурсов?)
0
|
|
|
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
|
|
| 08.07.2017, 19:35 | |
|
Не совсем понял что такое PoC..
Но сам давно пользуюсь запуском файла в памяти в моем проекте. Если в проекте парочка форм, кнопочки и запуск файла в памяти на кнопку, а не автоматически, то антивирям всеравно. Конечно, это не тот код, который я привел выше. В своем я делаю массив из байтов памяти, складываю и запускаю в памяти
0
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 08.07.2017, 21:57 | |
|
0
|
|
|
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
|
||||||||||||||||
| 09.07.2017, 20:47 | ||||||||||||||||
|
h файл с функцией:
Минус метода в том, что слишком большой образ не скомпилируется
2
|
||||||||||||||||
| 09.07.2017, 20:47 | |
|
Помогаю со студенческими работами здесь
13
Запуск приложения из ресурсов Запуск приложения из ресурсов, переименование окна
Хранение ресурсов приложения без БД
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub
Примеры вызова:
# Указанная валюта 'EUR'
floatrates-rub -Code 'EUR'
# Список имеющихся кодов валют
floatrates-rub -Available
function floatrates-rub {
|
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5
Примеры вызова
Get-WeatherRP5rss
с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
|
|
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr
Примеры вызова:
Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
|
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют
function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) {
$url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js'
$data = Invoke-RestMethod -Uri $url
$esc = 27
. . .
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
|
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца:
Хочу еще Симбу взять, очень нравится. . .
|