Здравствуйте, у меня есть 2 DLL с одинаковыми именами, одна в Windows\system, а вторая в другой папке. моему vxd необходимы функции второй dll. Как это сделать?
так?) VxD_PAGEABLE_CODE_SEG BeginProc kenumb call \SystemRoot\System32\ntoskrnl.exe!KeNumberProcessor EndProc kenumb VxD_PAGEABLE_CODE_ENDS
LoadLibrary(путь к твоей длл)->GetProcAddress(имя нужной ф-ции)->call eax Не могу понять что тебе еще надо, уже выше все написали..
спасибо, конечно, но я думал, можно как-нибудь путь в секции импорта прописать, чтоб не использовать GetProcAddress по сто раз)
Ну может быть можно в Import Descriptor Table -> Name RVA прописать полный путь к длл-ке, попробуй вручную
Спасибо за идейку) но я не ожидано столкнулся с другой проблемой. Линкер отказывается собирать вот такой код: .386p .model flat, stdcall includelib C:\WINDDK\2600.1106\lib\wxp\i386\ntoskrnl.lib include C:\WINDDK\2600.1106\inc\ddk\wxp\stdcall.inc .code call KeNumberProcessor end пишет: error LNK2001: unresolved external symbol : KeNumberProcessor подскажите пожалуйста в чем тут дело
прошу прощения за не внимательность) но все равно та же ошибка пишет: error LNK2001: unresolved external symbol : KeNumberProcessors
Llirik по исходной теме - кладешь рядом со своим exe пустой файл вида <имя твоего exe>.exe.local, dllки будут сначала грузиться из каталога с прогой, потом уже из других путей возможно, что 2k+, не помню точно..
Открою страшную тайну - эспортировать можно не только функции, но и переменные. KeNumberProcessors - переменная. И вот это: call KeNumberProcessor выглядит очень странно ^^
Благодарю за то, что научили меня уму разуму) но KeRevertToUserAffinityThread это точно функция, а ml пишет то же самое