Форум: "Прочее";
Текущий архив: 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
Короче получилось передать из UserModeGetProcAddress(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