ZwReadVirtualMemory
От: Saviour  
Дата: 01.03.05 14:29
Оценка:
Как подключить оную функцию в драйвер? обьявляю через экстерн, компиляция проходит на уара но при запуске драйвера вываливается ошибка что функция не найдена

PS
TARGETTYPE=DRIVER

TARGETLIBS=\
$(DDK_LIB_PATH)\ntdll.lib\
$(DDK_LIB_PATH)\ntoskrnl.lib\
$(DDK_LIB_PATH)\kernel32.lib
Re: ZwReadVirtualMemory
От: TarasCo  
Дата: 02.03.05 06:50
Оценка:
Здравствуйте, 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) не экспортирует. Не совсем понятно, зачем она вообще могла Вам понадобится?
Да пребудет с тобою сила
Re: ZwReadVirtualMemory
От: Злость Россия  
Дата: 02.03.05 06:51
Оценка: +1
Здравствуйте, Saviour, Вы писали:

[skip]

ZwReadVirtualMemory функция не экспортируется ntoskrnl. А подключение ntdll и kernel32 не верно.

Если вы хотите все же вызвать ZwReadVirtualMemory, нужно узнать Index в SDT (SERVICE DESCRIPTOR TABLE), в результате вы получите возможность узнать адресс этой функции.
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re[2]: ZwReadVirtualMemory
От: Saviour  
Дата: 04.03.05 08:52
Оценка:
Здравствуйте, 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 в итоге все работает

задача была отследить момент азпуска приложения и сррбщить об этом некоему сервису и в частноси в сообщении должен был быть полный путь к файлу
Re[2]: ZwReadVirtualMemory
От: Saviour  
Дата: 04.03.05 08:55
Оценка:
Здравствуйте, Злость, Вы писали:

З>Здравствуйте, Saviour, Вы писали:


З>[skip]


З>ZwReadVirtualMemory функция не экспортируется ntoskrnl. А подключение ntdll и kernel32 не верно.


З>Если вы хотите все же вызвать ZwReadVirtualMemory, нужно узнать Index в SDT (SERVICE DESCRIPTOR TABLE), в результате вы получите возможность узнать адресс этой функции.




я читал об этом способе ... но в итоге осьановилося на выдирании функции из ReactOS хотя в любом случае спасибо за ответ =)
Re[3]: ZwReadVirtualMemory
От: Andrew.W Worobow https://github.com/Worobow
Дата: 04.03.05 09:58
Оценка:
Здравствуйте, Saviour, Вы писали:


S>....функцый были обьявлены по по найденным прототипам (w2k src)... а вот ZwReadVirtualMemory не хотела, пришлось взять образец из ReactOS в итоге все работает


В смысле "взять образец"? Взять код этой функции, или как....?
Не все кто уехал, предал Россию.
Re[4]: ZwReadVirtualMemory
От: Saviour  
Дата: 04.03.05 10:05
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Здравствуйте, Saviour, Вы писали:



S>>....функцый были обьявлены по по найденным прототипам (w2k src)... а вот ZwReadVirtualMemory не хотела, пришлось взять образец из ReactOS в итоге все работает


AWW>В смысле "взять образец"? Взять код этой функции, или как....?


уху код функции ... убрал выделение буфера(тк он выделялся до вызова функции) ... оставил только копирование памяти и все
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.