ZwReadVirtualMemory функция не экспортируется ntoskrnl. А подключение ntdll и kernel32 не верно.
Если вы хотите все же вызвать ZwReadVirtualMemory, нужно узнать Index в SDT (SERVICE DESCRIPTOR TABLE), в результате вы получите возможность узнать адресс этой функции.
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Как подключить оную функцию в драйвер? обьявляю через экстерн, компиляция проходит на уара но при запуске драйвера вываливается ошибка что функция не найдена
Здравствуйте, Saviour, Вы писали:
S>Как подключить оную функцию в драйвер? обьявляю через экстерн, компиляция проходит на уара но при запуске драйвера вываливается ошибка что функция не найдена
S>PS S>TARGETTYPE=DRIVER
S>TARGETLIBS=\ S> $(DDK_LIB_PATH)\ntdll.lib\ S> $(DDK_LIB_PATH)\ntoskrnl.lib\ S> $(DDK_LIB_PATH)\kernel32.lib
ntdll.dll и kernel32.dll — компоненты 3 кольца. Драйвер может использовать только модули, отображенные на системное адресное пространство. И в этом пространстве нет ни ntdll, ни kernel32. А само ядро ( ntoskrnl ) эту функцию (ZwReadVirtualMemory) не экспортирует. Не совсем понятно, зачем она вообще могла Вам понадобится?
Здравствуйте, TarasCo, Вы писали:
TC>Здравствуйте, Saviour, Вы писали:
S>>Как подключить оную функцию в драйвер? обьявляю через экстерн, компиляция проходит на уара но при запуске драйвера вываливается ошибка что функция не найдена
S>>PS S>>TARGETTYPE=DRIVER
S>>TARGETLIBS=\ S>> $(DDK_LIB_PATH)\ntdll.lib\ S>> $(DDK_LIB_PATH)\ntoskrnl.lib\ S>> $(DDK_LIB_PATH)\kernel32.lib
TC>ntdll.dll и kernel32.dll — компоненты 3 кольца. Драйвер может использовать только модули, отображенные на системное адресное пространство. И в этом пространстве нет ни ntdll, ни kernel32. А само ядро ( ntoskrnl ) эту функцию (ZwReadVirtualMemory) не экспортирует. Не совсем понятно, зачем она вообще могла Вам понадобится?
не знаю как у вас а у меня подключение верное, часть функцый были обьявлены по по найденным прототипам (w2k src)... а вот ZwReadVirtualMemory не хотела, пришлось взять образец из ReactOS в итоге все работает
задача была отследить момент азпуска приложения и сррбщить об этом некоему сервису и в частноси в сообщении должен был быть полный путь к файлу
Здравствуйте, Злость, Вы писали:
З>Здравствуйте, Saviour, Вы писали:
З>[skip]
З>ZwReadVirtualMemory функция не экспортируется ntoskrnl. А подключение ntdll и kernel32 не верно.
З>Если вы хотите все же вызвать ZwReadVirtualMemory, нужно узнать Index в SDT (SERVICE DESCRIPTOR TABLE), в результате вы получите возможность узнать адресс этой функции.
я читал об этом способе ... но в итоге осьановилося на выдирании функции из ReactOS хотя в любом случае спасибо за ответ =)
S>....функцый были обьявлены по по найденным прототипам (w2k src)... а вот ZwReadVirtualMemory не хотела, пришлось взять образец из ReactOS в итоге все работает
В смысле "взять образец"? Взять код этой функции, или как....?
Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>Здравствуйте, Saviour, Вы писали:
S>>....функцый были обьявлены по по найденным прототипам (w2k src)... а вот ZwReadVirtualMemory не хотела, пришлось взять образец из ReactOS в итоге все работает
AWW>В смысле "взять образец"? Взять код этой функции, или как....?
уху код функции ... убрал выделение буфера(тк он выделялся до вызова функции) ... оставил только копирование памяти и все