Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2016, 11:04   #1
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию Сжать exe файл

Как средствами делфи упаковать exe файл так же как это делает всякие upx только за своим алгоритмом? Нужно уменьшить размер приложения и защитить от декомпилирования.
Legeardo вне форума Ответить с цитированием
Старый 21.10.2016, 11:27   #2
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 296
По умолчанию

Средствами Delphi вряд. А чем сторонние приложения не устраивают?
PECompact хорошо упаковывает (лучше UPX'а).
А VMProtect, например (старых версий), бесплатен для некоммерческого использования. Не уверен, правда, что стоит комбинировать эти программы...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 21.10.2016, 12:29   #3
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Вобще мне надо пропатчить запакованый exe файл. Я сделал программку которая создает индивидуальные билды. Она извлекает из ресурсов exe файл а потом патчит его что бы его настройки были такими какими их задал пользователь. Но если запаковать изначально билд то его патчить невозможно. Потому что адреса изменились.
Legeardo вне форума Ответить с цитированием
Старый 21.10.2016, 12:47   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Так сначала правьте, а потом пакуйте
p51x вне форума Ответить с цитированием
Старый 21.10.2016, 13:24   #5
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Мне как то надо обойтись без сторонних программ.
Legeardo вне форума Ответить с цитированием
Старый 21.10.2016, 13:39   #6
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 296
По умолчанию

Сторонние программы можно вообще запихать в EXE-шник (тем же VMProtect'ом), обращаясь к ним из программы как к отдельным файлам. Т.е. создаётся некое виртуальное дисковое пространство. И будет иллюзия, что никакие сторонние программы не используются
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 21.10.2016, 13:39   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Legeardo Посмотреть сообщение
Мне как то надо обойтись без сторонних программ.
почему? по религиозным причинам, или есть другое основание?

Цитата:
надо пропатчить запакованый exe файл
простите, а в данном контексте, файл запакованный чем?


Цитата:
Нужно уменьшить размер приложения и защитить от декомпилирования.
Вот размер реально уменьшить (правда, только номинальный - на диске,
при запуске приложению памяти потребуется даже чуть больше, чем до запаковки).

а вот по поводу защиты от декомпилирования всё далеко не так просто и радужно.
Гарантию от декомпилирования ни один пакер не даёт.
"Что один человек сделал, другой завсегда сломать может!" (с) кузнец из "Формулы любви"
И чтобы получить запакованный EXE, который за 5 минут не распакует школьник, нужно использовать купленные профессиональные пакеры.
Имхо, разумеется.

но, в любом случае, желаю успехов!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2016, 13:47   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
Сообщение от Legeardo Посмотреть сообщение
Мне как то надо обойтись без сторонних программ.
Таки в чем проблема - реализуйте в своей программе и патчинг, и упаковку.
p51x вне форума Ответить с цитированием
Старый 21.10.2016, 13:54   #9
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Цитата:
Сторонние программы можно вообще запихать в EXE-шник (тем же VMProtect'ом), обращаясь к ним из программы как к отдельным файлам. Т.е. создаётся некое виртуальное дисковое пространство. И будет иллюзия, что никакие сторонние программы не используются
А как из своей программы обратится к упаковщику?
Legeardo вне форума Ответить с цитированием
Старый 21.10.2016, 18:26   #10
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

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

Последний раз редактировалось NetSpace; 21.10.2016 в 19:11.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сжать файл winrar AET Общие вопросы Delphi 13 04.11.2012 14:06
Как 'засунуть' звуковой файл в EXE-шник.чтоб моя прога состояла всего из одного exe betirsolt Общие вопросы Delphi 11 18.04.2010 21:58
Как сжать и распаковать файл с помощью API? 3D Hunter Win Api 10 16.03.2010 03:05
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33
сжать файл andrey4623 Общие вопросы Delphi 14 13.01.2008 07:31