eXeL@B —› Основной форум —› Virtual DLL от Аспра 2.3... |
Посл.ответ | Сообщение |
|
Создано: 30 мая 2007 14:39 · Личное сообщение · #1 Беда такого плана.... Распаковал плагин от фотошопа, пакован аспром 2.3 ... Вот.. восстановил все... инициализируется... загружается в фотошоп... НО... на входе в экспортируемую функцию покриптован большой участок кода и восстановлению не подлежит, т.к. на этом месте стоит call в виртуальную длл-ку аспра. Идея была такова - сдампить длл и привести ее в рабочее состояние, а затем просто загрузить ее обычным LoadLibrary и юзать... Так вот.... вроде длл привел в рабочее состояние, т.е. если я загружаю распакованый плагин в оллю и вызываю ее из кода плагина... все вроде бы ок.... А вот когда я пытаюсь проделать из под фотошопа, т.е. запускаю фотошоп под оллей и ловлю момент загрузки плагина в память, потом ставлю железный бряк на экспортируемую функу... в плагине и далее пытаюсь с помощью LoadLibrary загрузить эту длл.... так LoadLibrary возвращает 0 в еах, т.е. нет типа свободной памяти.... и при этом происходит исключение записи по смещению в длл-ке 000000Е8, т.е. в null pointer assignment... Релоки и импорт в этой дллке чистые и целые... DllMian на ОЕР-е есть... Что за фигня? Уже голову всю поломал... подскажите хотябы где копать? Спасибо заранее.... ----- aLL rIGHTS rEVERSED! |
|
Создано: 30 мая 2007 14:50 · Поправил: SLV · Личное сообщение · #2 |
|
Создано: 30 мая 2007 15:17 · Личное сообщение · #3 SLV Там они в нетронутом виде лежат, смещение я знаю, размер посмотрел в отладчике.... Я релоки проверял, все чисто.... У длл имиджбаза 00ЕВ0000 ... я в олле по этому адресу грузил другую длл ... так LoadLibrary удачно загрузила мою длл-ку по адресу 00EC0000 ... проверил работу релоков, все ок... импорт на месте.... А вот под фотошопом нифига! Я уже понял что в дллке глюк, но где... никак не найду..... ----- aLL rIGHTS rEVERSED! |
|
Создано: 01 июня 2007 02:42 · Личное сообщение · #4 |
|
Создано: 01 июня 2007 03:23 · Личное сообщение · #5 DrGolova пишет: Глянька на мутексы и enironment variables - мобыть плагин детектит наличие фотожопа, а то и вобще пытается поймать его интерфесы в dllmain() Все дело там в релоках Не фига шоп ни проги использующие его плуги не проверяют и не детектят Схема проста до безобразия Сканит диру пробует подгружать вышло в списке не вышло нет |
|
Создано: 01 июня 2007 06:02 · Личное сообщение · #6 |
|
Создано: 01 июня 2007 08:12 · Личное сообщение · #7 PE_Kill пишет: ты не прав в аспре и аспаке релоки лежат нетронутыми их надо только найти, потом поправить хедэр, но после этого плуг всё равно не грузится Там нет ни одной причины не грузить Если нет ни какой разницы для системы в плугах ,и длл тем более шоп там вообще не причем он только флажок ставит лоадер загрузил , да хороший плуг покажу не загрузил не фиг делать в списке ... |
|
Создано: 01 июня 2007 13:37 · Личное сообщение · #8 PE_Kill Все грузиться... Решил проблему более кардинально .... нашел более раннюю версию плагина и содрал код покриптованый который был, все приросло идеально, даже релоки попали в точку... поправил калы и пуши... и все заработало.... С другой стороны вопрос о виртуальной длл так и остался открытым, точнее вопрос ее юзанья в анпакнутых прогах... ----- aLL rIGHTS rEVERSED! |
eXeL@B —› Основной форум —› Virtual DLL от Аспра 2.3... |