|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 9, 2004 15:33:36 Подскажите, плиз, ключ реестра, где находятся автоматически загружаемые dll. (win XP) |
|
|
Дата: Июн 9, 2004 16:10:55 Правка ozzman Поиск по форуму, rst уже спрашивал. Как альтернатива — поиск по MSDN… |
|
|
Дата: Июн 9, 2004 16:44:40 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WOW HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager для 16 и 32 разрядных dll. перечисленные здесь dll мапяться еще при загрузке системы, до первого обращения к ним. так же сюда можно записать xdll -> mydll, тогда при статической загрузке xdll загрузится твоя mydll, этот способ можно использовать для перехвата вызовов kernel32.dll, не трогая ни экспорт самой kernel32.dll, ни импорт чужой проги. ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager "анулирует" имя библиотеки, без его стирая из вышестоящих ключей и без перезагрузки системы |
|
|
Дата: Июн 9, 2004 17:59:55 >перечисленные здесь dll мапяться еще при загрузке системы это мне и нужно(только для моей длл) в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager я создал строковый параметр: ozzman, значение: ozzman.dll ozzman.dll поместил в папку windows\system32 перезагрузился, библиотека не загрузилась :( p.s. >так же сюда можно записать xdll -> mydll, тогда при статической загрузке xdll загрузится твоя mydll Данную фразу я не понял :( |
|
|
Дата: Июн 9, 2004 18:19:54 >>перечисленные здесь dll мапяться еще при загрузке системы это мне и нужно(только для моей длл) обрати внимание: мапаяться, т.е. отображаются на адресное пространство, но на dllmain управление не передается > перезагрузился, библиотека не загрузилась :( NT для каждого процесса показывает только те библиотеки, которые он явно затребовал, в 9x системные библиотеки доступны всем процессам даже если они их и не загружали >> так же сюда можно записать xdll -> mydll, тогда при >> статической загрузке xdll загрузится твоя mydll > Данную фразу я не понял :( ну можно создать алисас для kernel32, чтобы при загрузке kernel32 грузилась совсем другая dll (твоя). |
|
|
Дата: Июн 9, 2004 18:35:36 >но на dllmain управление не передается тогда законный вопрос: а как, собственно, передать управление на точку входа длл? >ну можно создать алисас для kernel32, чтобы при загрузке kernel32 грузилась совсем другая dll (твоя). вы не могли бы привести пример алиаса, или ссылку, где можно почитать про алиасы. |
|
|
Дата: Июн 9, 2004 18:40:34 писать exe, и вызывать loadlibrary мне не хочется. |
|
|
Дата: Июн 9, 2004 18:58:17 ссылка вот: Windows 95 Uses KnownDLLs Registry Key to Find 32-bit DLLs Article ID: Q151646, это правда для 9x, но в NT все происходит аналогичным образом > писать exe, и вызывать loadlibrary мне не хочется. а на loadlibrary это и не распростаняется ;) |
|
|
Дата: Июн 9, 2004 19:12:52 Кстати. Вопрос - а не лучше ли будет через NLS драйвер? Там ведь вроде тоже грузится всегда... (почти) |
|
|
Дата: Июн 9, 2004 19:38:46 Может в данном случае подойдёт [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] AppInit_DLLs ? |
|
|
Дата: Июн 9, 2004 20:08:27 Windows 95 does not support the loading of a DLL into a process's address space through the use of the AppInit_DLLs registry value. In Windows NT, for every process executed, Windows NT loads the DLLs listed in the AppInit_DLLs registry value into the process' address space. For similar functionality in Windows 95, you can implement a system-wide hook. This article shows by example how to do it. |
|
|
Дата: Июн 9, 2004 20:34:36 To kaspersky:>а на loadlibrary это и не распростаняется ;) Что не распростаняется? Напомню, мне нужно было загрузить длл, и чтобы управление передалось либо на DllMain, либо на одну из функций библиотеки. >писать exe, и вызывать loadlibrary мне не хочется. - Это чтобы передать управление на dllmain. Вобщем, всем спасибо, Крису в особенности, я справился сам :) Через Winlogon загружаем длл, там же устанавливаем ключ Startup и имя функции, с которой начнется выполнение. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.077 |