Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];

Вниз

Как в Windows 7 получить адрес не экспортируемой функции   Найти похожие ветки 

 
SD Software   (2010-07-18 14:28) [0]

Подскажите как в драйвере получить адрес ZwReadVirtualMemory, для экспортируемых функций делаю так

PVOID GetSystemRoutineAddress(WCHAR *Name)
{
 UNICODE_STRING RoutineName;
 PVOID RoutineAddress = NULL;
   
 RtlInitUnicodeString(&RoutineName, Name);

 try
 {
   RoutineAddress = MmGetSystemRoutineAddress(&RoutineName);
 }
 except (EXCEPTION_EXECUTE_HANDLER)
 {
   RoutineAddress = NULL;
 }
   
 return RoutineAddress;
}

typedef NTSTATUS (*_ZwQueryInformationProcess)(__in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __out PVOID ProcessInformation, __in ULONG ProcessInformationLength, __out_opt PULONG ReturnLength);
 
_ZwQueryInformationProcess ZwQueryInformationProcess;

ZwQueryInformationProcess = GetSystemRoutineAddress(L"ZwQueryInformationProcess");


Может как то из usermode передать можно?

Интерфейс программы на Delphi 7


 
Riply ©   (2010-07-18 15:31) [1]

> [0] SD Software   (18.07.10 14:28)
> Подскажите как в драйвере получить адрес ZwReadVirtualMemory, для экспортируемых функций делаю так

IMHO - никак, ибо нет такой ф-ии в "ядре", да и не нужна она там :)


 
SD Software   (2010-07-18 16:08) [2]


> Riply ©   (18.07.10 15:31) [1]


Неправильно выразил мыслю

Как в "ядре" получить адрес ZwReadVirtualMemory из ntdll

Короче получилось передать из UserMode GetProcAddress(GetModuleHandleW("ntdll.dll"


 
Riply ©   (2010-07-18 18:02) [3]

>  [2] SD Software   (18.07.10 16:08)
> Короче получилось передать из UserMode GetProcAddress(GetModuleHandleW("ntdll.dll"

Стесняюсь спросить: а нафига ну т.е. а зачем это нужно ?  :)


 
SD Software   (2010-07-18 18:32) [4]


> Riply ©   (18.07.10 18:02) [3]


Хочу сделать мало мальскую самозащиту своего процесса, ставлю hook на некоторые nt функции, а так как в c++ я ни силен просто не знаю как получить адрес функции ZwReadVirtualMemory в драйвере, получилось передать из юзермода и поставить хук, я так понимаю толка от этого много не будет, память можно прочесть по другому, хотя может и есть смысл перехватывать...


 
SD Software   (2010-07-18 18:35) [5]


> Riply ©   (18.07.10 18:02) [3]
> Стесняюсь спросить


Стесняеться она, вот неверю я :)


 
Riply_Unreg   (2010-07-18 20:03) [6]

> [4] SD Software   (18.07.10 18:32)
> Хочу сделать мало мальскую самозащиту своего процесса, ставлю hook на некоторые nt функции

Твой процесс и твой драйвер - я правильно поняла ?
Если да, то  
1. Спастись от перехвата Nt-функций в user-mode можно не вызывая их в процессе,
  а прося свой драйвер вызвать их аналог и вернуть результат.
  Это несколько строчек кода - простейшая обертка.
2. Зщитить данные (если их не много) можно храня их в своем же драйвере.
  Тоже очень просто - всего две функуции типа ReadFile, WriteFile

> Стесняеться она, вот неверю я :)

Я никогда не вру :)

P.S.
Что-то меня не пускают под собственным ником - говорят пароль неверный :(


 
Anatoly Podgoretsky ©   (2010-07-18 20:07) [7]

> Riply_Unreg  (18.07.2010 20:03:06)  [6]

А чего unreg, попробуй еще раз


 
Riply_Unreg   (2010-07-18 20:10) [8]

> [7] Anatoly Podgoretsky ©   (18.07.10 20:07)
> А чего unreg, попробуй еще раз

Только что пыталась:
Редактировать анкету не дают - неверный пароль
Пароль на E-mail не высылают: говорят логин (мой E-mail)

:(


 
Германн ©   (2010-07-18 20:21) [9]


> Riply_Unreg   (18.07.10 20:10) [8]

http://delphimaster.net/view/15-1279321281/


 
Anatoly Podgoretsky ©   (2010-07-18 20:24) [10]

> Riply_Unreg  (18.07.2010 20:10:08)  [8]

Максим только что недавно восстановил старую базу, у меня заработало.


 
app ©   (2010-07-18 20:28) [11]

Ну или попроси Максима, в теме http://delphimaster.net/view/15-1279321281/ , удалить анкету


 
Riply ©   (2010-07-18 20:35) [12]

> [11] app ©   (18.07.10 20:28)
> Ну или попроси Максима, в теме http://delphimaster.net/view/15-1279321281/ , удалить анкету

Все получилось. Просто вместе с базой и старый пароль вернулся :)


 
SD Software   (2010-07-18 20:49) [13]


> Riply_Unreg   (18.07.10 20:03) [6]
> я правильно поняла ?


Ставлю в драйвере хук на ZwReadVirtualMemory что бы спастись от чтения памяти моего процесса другими процессами, а из usermode просто передаю адрес функции в драйвер


 
SD Software   (2010-07-18 20:58) [14]


> SD Software   (18.07.10 20:49) [13]


Передаю из usermode адрес функции ZwReadVirtualMemory в драйвер и там ставлю на неё хук, потому что не хватает ума получить адрес в драйвере


 
SD Software   (2010-07-18 21:00) [15]

Блин я сам ничего не понимаю читая свои посты

Кто ни будь отведите меня в поле и пристрелите...



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
2-1279523013
Meroveus
2010-07-19 11:03
2010.10.17
парсинг HTML?


2-1279711238
hunt
2010-07-21 15:20
2010.10.17
Отправа POST запроса в форму


6-1194702567
darkevil
2007-11-10 16:49
2010.10.17
Помогите разобраться с компонентом tidsnmp или заменить его.


8-1206713265
VBit
2008-03-28 17:07
2010.10.17
Включение линейного входа


15-1279001272
brother
2010-07-13 10:07
2010.10.17
Грустить не надо! а хочется...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский