Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.07.2011, 16:18
Mikle Mikle вне форума
Прохожий
 
Регистрация: 05.07.2011
Адрес: Минск, Беларусь
Сообщения: 3
Версия Delphi: 7
Репутация: 10
Вопрос Упаковка файлов(.dll, .exe) в один .exe

Здравствуйте. Вопрос таков:
Как запихнуть всяческие .dll'ы и .ехе'шники в одну программу? То есть, у меня имеется, допустим, .exe программы, и мне нужно, чтобы по нажатии кнопки в форме, этот .ехе запускался, и не откуда-то на компе, а из самой программы. Всмысле, чтобы на выходе у меня получился один .exe файл моей программы, а не файл моей программы и папка с .exe программ которые открываюся моей прогой.
Надеюсь, что все понятно.
З.Ы. Гыг, 7 раз использовал слово "программа"
  #2  
Старый 05.07.2011, 17:41
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

SFX, ага?
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
  #3  
Старый 05.07.2011, 19:05
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Я думаю, он не SFX имеет ввиду.
Есть несколько вариантов для реализации даннной идеи.

1-ый вариант (самый простой):

Требуется написать отдельную программу, которая бинарный файл переводит или в Base64, или в HEX, или в числовую последовательность. Результат работы программы заносится в массив в (отдельном) модуле в вашей программе. После пишется процедура преобразования данного массива (т.е. сохранения) его в файл. Все! Если интересует исходник, могу на файл. обменник залить.

2-ой вариант (посложнее):

У каждого exe-файла есть сигнатура (несколько байт в конце), которые завершают программу, т.е. сам exe-файл. После этой сигнатуры можно писать чего угодно. А там уже ваш план реализации. Как один из вариантов, можно создать таблицу позиций в этом же файле, для последующего извлечения ваших сторонних. Просто прыгать по этим позициям, да копировать определенное кол-во байт в другой файл. Вроде так и устроены установщики. Но есть проблема, если ваша программа запущена, то Вы не сможете открыть exe для записи. Поэтому придеться написать еще одну программу для записи в ваш exe других данных. Исходника данной идеи у меня нет.
  #4  
Старый 05.07.2011, 19:50
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

вогнать все в ресурс и из него по мере необходимости вытаскивать, сохраняя на диск в %TEMP% и оттуда же запускать.
__________________
Пишу программы за еду.
__________________
  #5  
Старый 05.07.2011, 20:00
Mikle Mikle вне форума
Прохожий
 
Регистрация: 05.07.2011
Адрес: Минск, Беларусь
Сообщения: 3
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от GriLab

1-ый вариант (самый простой):

Требуется написать отдельную программу, которая бинарный файл переводит или в Base64, или в HEX, или в числовую последовательность. Результат работы программы заносится в массив в (отдельном) модуле в вашей программе. После пишется процедура преобразования данного массива (т.е. сохранения) его в файл. Все! Если интересует исходник, могу на файл. обменник залить.

Думаю, он мне подойдет, ибо я чайник и к сложным вариантам как-то еще не тянет. Мне бы исходник и советы по адаптации его под мою программцу(что где изменить, как написать), если не трудно.

Последний раз редактировалось Mikle, 05.07.2011 в 20:04.
  #6  
Старый 05.07.2011, 22:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,020
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вариант с ресурсом проще.
  #7  
Старый 05.07.2011, 23:22
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

А мне кажется, что проще запаковать всё что надо в SFX, указать извлечение во временную папку и автозапуск нужного exe. И никакого секса с ресурсами.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
  #8  
Старый 06.07.2011, 14:15
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Mikle
Как запихнуть всяческие .dll'ы и .ехе'шники в одну программу?
рассадник?)
__________________
Пишу программы за еду.
__________________
  #9  
Старый 06.07.2011, 16:28
DimitarSerg DimitarSerg вне форума
Прохожий
 
Регистрация: 06.07.2011
Сообщения: 1
Репутация: 10
Радость Использовать специфическое ПО

Недавно писал кейген к проге, функция генерации была в DLL, ну а поставляться должен естественно один экзешник, поэтому пришлось воспользоваться MoleBox для упаковки в один...,
хотя видел реализацию, когда длл лежала в ресурсах...
  #10  
Старый 06.07.2011, 17:01
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,564
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от DimitarSerg
Недавно писал кейген к проге, функция генерации была в DLL, ну а поставляться должен естественно один экзешник, поэтому пришлось воспользоваться MoleBox для упаковки в один...,
хотя видел реализацию, когда длл лежала в ресурсах...
Читаем правила!
Обсуждение взлома, кряков и т.п. запрещено.
Тему закрываю!
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter