Здравствуйте, задумалось поэксперементировать, как засунуть dll в exe? Вот была тема как засунуть exe в exe и вот схемаhttp://hiasm.com/xf//getfile/12746, а как сделать так, чтоб засунуть и exe и dll(который требует exe). Напимер простой плеер который тремует bass.dll, можно ли сам исполняемый фаил и библиотеку засунуть в один exe?
P.S Помогите схемой...
Этот топик читают: Гость
Ответов: 54
Рейтинг: 2
|
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Ankain писал(а): Помогите схемой...В этом вопросе тебе никто не поможет. Форумное сообщество категорически выразилось против экспериментов со втыканием dll в exe, чтобы не было поползновений создавать вредоносные программы, потому я удалил все, что с этим было связано и закрыл тему. Единственное, что можно сделать, так это только использовать временную dll и удалять ее по окончанию работы приложения, но загрузка прямо в память, минуя диск, категорически делаться не будет |
|||
карма: 22 |
|
Ответов: 8918
Рейтинг: 823
|
|||
Ankain, dll для того и придуманы, чтобы разгрузить программиста от сто раз выполненной другими работы, а диск от одинаковых кусков кода в разных программах, поэтому смысла прятать dll нет.
|
|||
карма: 19 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
я полагаю тут основное желание состоит в том, чтобы получить ровно один исполняемый файл
|
|||
карма: 27 |
|
Ответов: 54
Рейтинг: 2
|
|||
Ясно, а каким образом втыкание dll может создать вредоносную программу?
Dilma, да именно это я и хочу сделать. |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Ankain писал(а): а каким образом втыкание dll может создать вредоносную программуЕсли dll инжектируется прямо в память и оттуда запускается, то носитель этого dll, это уже -- потенциально вредоносная программа ------------ Дoбавленo в 17.13: Dilma писал(а): я полагаю тут основное желание состоит в том, чтобы получить ровно один исполняемый файлТут я уже писал, что единственный нормальный путь -- сгрузить ресурс на диск и с ним работать |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Ankain, тыкание dll вредоносную программу не создает. Ее создает сам факт экспорта dll из основной программы с последующим запуском. Собственно единственный выход в данном случае это конструирование загрузчика, который будет экспортировать из себя программу и dll к ней, после чего запускать их. При этом будут такие проблемы:
- если место назначения экспортируемых файлов защищено от записи, то работать вообще ничего не будет - если место назначения экспортируемых файлов является временной папкой системы, то есть вероятность получить предупреждение антивируса о попытке запуска из временного хранилища(в лучшем случае пользователь нажмет ОК, в худшем опять таки ничего работать не будет) ------------ Дoбавленo в 17.18: nesco писал(а): Тут я уже писал, что единственный нормальный путь -- сгрузить ресурс на диск и с ним работатьв данном случае это не применимо, поскольку bass линкуется к программе статически и без нее исполняемый файл даже не запустится. |
|||
карма: 27 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Dilma писал(а): в данном случае это не применимоДа, это недостаток статического линкования А для динамически загружаемых dll это что-то, типа того (в прищепке) |
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
nesco, у меня элемент UseHiDLL не найден, что мне для этого сделать?
|
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Ankain, не такое не прокатит, оказалась тоже статическая загрузка, до загрузки должен быть на диске. Динамический модуль загрузки писать надо самому
Dilma, может подумать о возможности динамической загрузки и выгрузки dll |
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
А почему не получается запустить dll как временный фаил?
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
nesco писал(а): может подумать о возможности динамической загрузки и выгрузки dllопределенно. На основе менеджера можно сделать элемент для управления загрузкой и выгрузкой DLL в/из UseHiDLL не нарушая структуры его точек |
|||
карма: 27 |
|
Ответов: 54
Рейтинг: 2
|
|||
А что у меня UseHiDLL не работает? Как исправить?
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
прочитать соседнюю тему http://hiasm.com/forum.html?q=3&t=51858
|
|||
карма: 27 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Dilma писал(а): На основе менеджера можно сделать элемент для управления загрузкой и выгрузкой DLL в/из UseHiDLL не нарушая структуры его точекСделал, но не нравится мне то, что имена точек у меня получились разные -- DllName для компонента и Name для менеджера. Помнится, ты писал о том, что можно объединить два имени свойства в одном, как это сделать, и стоит ли |
|||
карма: 22 |
|