> Да. я как раз об этом и думаю. Но тут такая проблема - > неубодно :) > вот создал я этот файлмэпинг и имею просто участок памяти > НЕИМЕНОВАНЫЙ. А вот отдать неименованный файлмеппинг получится только своим потомкам (ну или передать его через какой нибудь другой IPC)
Есть необходимость упаковать DLL, но все упаковщики обламываються корректно упаковать, поскольку в DLL есть shared section, в которую DLL еще и пишет.
Может кто-то подскажет упаковщик продвинутый, который это умеет?
Я юзал aspack & UPX. Они не катят.
Я смотрю, Гуру не любят гугл :-)17.06.04 21:05 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
> PECompact > > http://www.bitsum.com/bkforum_v4/thread.asp?forum=7&thread= > 24&pg=1 Вообщем скачал я этот PECompact, упаковал свою ДЛЛ с опцией не паковать shared section и она вообще отказалась работать :(
Хехе. Я когда паковал aspack-ом - она глючила изза shared section это 100%, а теперь она вылетает с исключением.
Вот Ж :(
Придется не паковать, главное штоб работала правильно.
З.Ы.
Может есть тут люди, которые реально паковали ДЛЛ с shared section? Может я туплю где-то?
З.Ы.Ы.
ДЛЛ сама 100% тестирована и пашет, если не запакована.
Вариант 1: не паковать dll
Вариант 2: не юзать shared section
Вариант 3: пропатчить aspack/upx штобы они не паковали твою секцию.
Вариант 4: добавлять шаред секшин после упаковки
А зачем нужна shared section твоей dll ?18.06.04 19:47 Автор: leo <Леонид Юрьев> Статус: Elderman
Вообщем ДЛЛ ставит WIn32 хук. При этом она висит почти во всех GUI процессах и реализует обработку некторых событий. Ясно что, требуется область, куда бы складывать общие данные.
Самый удобный способ - общая секция.
Дык ее не обязательно статически вкомпилировать.21.06.04 12:51 Автор: amirul <Serge> Статус: The Elderman
> Вообщем ДЛЛ ставит WIn32 хук. При этом она висит почти во > всех GUI процессах и реализует обработку некторых событий. > Ясно что, требуется область, куда бы складывать общие > данные. > Самый удобный способ - общая секция. Создать именованный объект-секцию (в win32 - файлмеппинг) и пользоваться с тем же успехом.
Да. я как раз об этом и думаю. Но тут такая проблема -...21.06.04 16:33 Автор: sidus Статус: Незарегистрированный пользователь
> > Вообщем ДЛЛ ставит WIn32 хук. При этом она висит > почти во > > всех GUI процессах и реализует обработку некторых > событий. > > Ясно что, требуется область, куда бы складывать общие > > данные. > > Самый удобный способ - общая секция. > Создать именованный объект-секцию (в win32 - файлмеппинг) и > пользоваться с тем же успехом.
Да. я как раз об этом и думаю. Но тут такая проблема - неубодно :)
вот создал я этот файлмэпинг и имею просто участок памяти НЕИМЕНОВАНЫЙ.
Да есть у меня адресс начала и все. То есть разбиение этого участка памяти на много переменных мне придется организовать сомостоятельно, а в статической общей секции все просто - определил переменные и юзай.
Но все равно это самый приемлемый вариант.
Как уже сказали, надо просто наложить структуру21.06.04 17:17 Автор: amirul <Serge> Статус: The Elderman
> Да. я как раз об этом и думаю. Но тут такая проблема - > неубодно :) > вот создал я этот файлмэпинг и имею просто участок памяти > НЕИМЕНОВАНЫЙ. А вот отдать неименованный файлмеппинг получится только своим потомкам (ну или передать его через какой нибудь другой IPC)
достаточно наложить на этот буфер структуру, содержащую все эти переменные в качестве полей21.06.04 16:45 Автор: dl <Dmitry Leonov>
Я с трудом могу понять одну единственную причину использования упаковщиков - попытку защититься от дебаггера. Но, во-первых, и защита эта не так, чтобы сверхнадежная, да и использование популярных упаковщиков ее сильно снижает.
Нет..от дебагеров мне нада не сильно - главное, что упаковка...21.06.04 16:29 Автор: sidus Статус: Незарегистрированный пользователь
> Я с трудом могу понять одну единственную причину > использования упаковщиков - попытку защититься от > дебаггера. Но, во-первых, и защита эта не так, чтобы > сверхнадежная, да и использование популярных упаковщиков ее > сильно снижает. Нет..от дебагеров мне нада не сильно - главное, что упаковка снижает размер более чем в 2 раза.
Модуль загружается по инету, поэтому это критично.
это кусок какого-то activex?21.06.04 16:55 Автор: dl <Dmitry Leonov>
В противном случае проще взять любой архиватор. Просто экономия на размере файла тут в итоге оборачивается лишними затратами на память. А при определенной кривизне распаковщика можно огрести размножение распакованного образа по всем использующим его программам.
Нет. Это плагин к проге, который загружается при желании...21.06.04 17:13 Автор: sidus Статус: Незарегистрированный пользователь
> В противном случае проще взять любой архиватор. Просто > экономия на размере файла тут в итоге оборачивается лишними > затратами на память. А при определенной кривизне > распаковщика можно огрести размножение распакованного > образа по всем использующим его программам.
Нет. Это плагин к проге, который загружается при желании пользователя автоматически. То есть юзер
ничего сам не обязан скачивать. И кто его знает каким он архиватором пользуется...
Если программа своя, то эффективнее один раз положить в нее код для разархивирования, например, zip (или ту же unrar.dll весом в 50к взять), чем пихать код распаковщика в каждый плагин.
ОО! В фичах есть то, что мне и нада :)
18.06.04 11:14 Автор: sidus Статус: Незарегистрированный пользователь