Форум: "Прочее";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизУбрать dll внутрь exe Найти похожие ветки
← →
DVM © (2007-03-29 12:32) [0]Есть сторонняя длл (без исходников) и программа на делфи ее использующая. В силу ряда причин хотелось бы ограничиться одним файлом. Нельзя ли как спрятать длл внутрь исполняемого файла и использовать при этом?
← →
Игорь Шевченко © (2007-03-29 12:36) [1]
> Нельзя ли как спрятать длл внутрь исполняемого файла и использовать
> при этом?
Где-то на просторах сети был загрузчик для такого рода извращения. Значит можно.
← →
Inco (2007-03-29 15:29) [2]Раньше, когда я работал на Д4, при установке RxLib появлялся пункт меню "Ресурсы", и ты там мог забубенить в ресурсы все, что угодно.
Я делал точно такую же штуку - при запуске программы проверял наличие DLL, если нет - вытаскивал из ресурсов и динамически линковал.
Код этого добра где-то зарыт, при наличии времени могу поковыряться и найти его.
Общий смысл такой - нужно создать отдельный файл ресурсов (с помощью компилятора ресурсов, он уже есть, отдельно устанавливать не надо). Этот файл ресурсов подключаешь к проекту, наряду со стандартным (Project1.res) (типа {$I lala.res}), компилишь и вуаля! Что делать при запуске - описано выше.
Это должно тебе помочь (хотя это какой-то изврат)
http://www.codenet.ru/progr/delphi/stat/Extract-resources-dll-exe.php
Это тоже может помочь (хотя есть способ проще)
http://megalib.com/books/478/1560.htm
← →
DVM © (2007-03-29 17:18) [3]
> Inco (29.03.07 15:29) [2]
Спасибо. Думаю так и сделаю. А то без сохранения на диск больно мудрено будет потом загружать все это добро.
← →
umbra © (2007-03-29 17:21) [4]есть такой TFakeDll, только длл должна тоже быть написана на делфи. И не знаю, работает ли это в новых версиях
← →
umbra © (2007-03-29 17:22) [5]только, наверное, на TFakeDll все антивирусы будут ругаться :)
← →
Ketmar © (2007-03-29 18:54) [6]> DVM © (29.03.07 17:18) [3]
> Спасибо. Думаю так и сделаю. А то без сохранения на диск
> больно мудрено будет потом загружать все это добро.
смотря что оно делает и какие API вызывает. в принципе, ничего особо сложного.
← →
DVM © (2007-03-30 10:27) [7]
> смотря что оно делает и какие API вызывает. в принципе,
> ничего особо сложного.
Я имею ввиду свой загрузчик для исполняемого файла или dll писать мудрено больно. Да и через задницу не хотелось бы - все антивирусы ругаться будут 100 процентов, я уже о висте не говорю.
Действительно проще будет извлечь из экзешника длл и положить рядом.
Вообще это нужно для того, чтобы упростить процесс распространения программы среди не шибко грамотных пользователей - типа скачал один файл, запустил и все. Скачивать два в архиве, распаковывать и т.д. могут не все. Инсталлятор тут тоже не годится - прав у юзеров нет.
← →
Prohodil Mimo © (2007-03-30 10:36) [8]DVM © (30.03.07 10:27) [7]
Инсталлятор тут тоже не годится - прав у юзеров нет.
а самораспаковывающийся RAR-архив тоже права требует? (не пробовал на урезанных правах запускать, потому не знаю, просто предположение высказал).
← →
DVM © (2007-03-30 10:42) [9]
> а самораспаковывающийся RAR-архив тоже права требует?
Не требует, но он вроде как вопросов много задает. Нежелательно.
← →
Prohodil Mimo © (2007-03-30 10:46) [10]DVM © (30.03.07 10:42) [9]
Не требует, но он вроде как вопросов много задает
каких?
при запуске окно с полем выбора пути установки, в которое забито значение по умолчанию (заданное тобой) и две кнопки (Инсталл и Выйти).
Больше ни чего нет.
← →
Чапаев © (2007-03-30 10:48) [11]> Инсталлятор тут тоже не годится - прав у юзеров нет.
Какой инсталлятор-то? Не все инсталляторы одинаково msi... Тьфу, то есть не все одинаково полезны. %-)
Можжно в Инно ссделать инсталлятор, котторый нне буддет треббовать админнских правв.
← →
DVM © (2007-03-30 10:52) [12]
> Можжно в Инно ссделать инсталлятор, котторый нне буддет
> треббовать админнских правв.
Все равно когда в домене задает вопрос - от какого имени пользователя запустить, чем вводит в полный ступор тетенек из бухгалтерии.
← →
Чапаев © (2007-03-30 10:56) [13]> Все равно когда в домене задает вопрос
Гм... А чего у меня не задавал НИ РАЗУ?
← →
DVM © (2007-03-30 10:58) [14]
> Гм... А чего у меня не задавал НИ РАЗУ?
Может от политик домена зависит. У нас вопрос задается для любых фалов, которые система определяет как инсталляторы. Как она определяет я не знаю, наверное по массе признаков.
← →
REA (2007-03-30 11:05) [15]Как хотите, но это изврат. Принципиальной разницы нет инсталлятор это (хоть бы и самодельный) или твоя программа.
← →
Ketmar © (2007-03-30 11:23) [16]> DVM © (30.03.07 10:27) [7]
> - все антивирусы ругаться будут 100 процентов, я уже о висте
> не говорю.
с какого испуга???
> Действительно проще будет извлечь из экзешника длл и положить
> рядом.
вот на это точно заругаются.
> распаковывать и т.д. могут не все. Инсталлятор тут тоже
> не годится - прав у юзеров нет.
метлу продать?
← →
DVM © (2007-03-30 12:28) [17]
> REA
> Как хотите, но это изврат.
Полностью согласен, что изврат, мне самому не нравится.
> Ketmar ©
> с какого испуга???
С такого, что это подозрительные действия. 99% что касперский завопит.
> вот на это точно заругаются.
Сделал уже, ничего не ругается.
← →
Ketmar © (2007-03-30 12:52) [18]> DVM © (30.03.07 12:28) [17]
извините, но с каких пор создание исполняемого кода в своём АП (АП, привет! %-) -- "подозрительные действия"?! на... на... я ХОЧУ это написать, но не могу. НА! каспера с такими "проверками". тогда он и на UPX должен вопить. и на мой PUSH!. ерунда.
← →
Ketmar © (2007-03-30 12:53) [19]> DVM © (30.03.07 12:28) [17]
> Сделал уже, ничего не ругается.
обалдеть антивирус. это 3.14 какой-то, а не антивирус. создание левой DLL и её подгрузка -- это не подозрительное действие? класс. "привет, трояны! мы вас любим, мы вас не тронем!"
← →
DVM © (2007-03-30 13:01) [20]
> обалдеть антивирус. это 3.14 какой-то, а не антивирус
А почему он собственно должен ругаться? Ведь это аналог архива самораспаковывающегося. На них то он не ругается. Да и dll не левая - подписана Intel - ом.
> НА! каспера с такими "проверками". тогда он и на UPX должен
> вопить. и на мой PUSH!. ерунда.
Может и ерунда, а может и нет. От антивируса зависит.
А что такое PUSH кстати?
← →
Ketmar © (2007-03-30 13:08) [21]PUSH! (именно так, с "!") -- http://avalon-group.ho.com.ua/view.php?id=push
там есть баги, но в 99% случаев ты их не увидишь. %-)
не помню, что написано в исходниках, но как обычно -- public domain, no copyrights.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.052 c