З.Ы. через com1 порт отлаживать не получилось, windbg выдавал ошибку
* до: http://rghost.ru/1360624.view после: http://rghost.ru/1360638.view фиксед
Посмотрел в отладчике, запись действительно проходит: до - [img] после - [img] Так что действительно пишется, видимо ошибка в вычислении адреса.
переделаю через MDL
d2k9, у меня не семёрка, а XP sp2
с отладчиком тоже трабл есть, softice к сожалению никак не хочет работать - при запуске ntice.bat выдаёт System error 1058 has occurred. The...
вот же -> NewCode->Adress = (PVOID) ((ULONG)NewZwTerminateProcessAddr-(ULONG)OrigFuncAddres-5); Где -> NewZwTerminateProcessAddr = MyFunction;...
80500688 (в 16 системе) и через - MmGetSystemRoutineAddress() и через &ZwTerminateProcess
*одинаковый адрес через и импорт и через MmGetSystemRoutineAddress()
Я проверил, он одинаковый
Вы хотели сказать в импорте?
_declspec(dllimport) NTSTATUS ZwTerminateProcess ( IN HANDLE ProcessHandle, IN NTSTATUS ExitStatus ); PVOID...
Понял, попробую реализовать все рекомендации. з.ы. На семёрке как я понял сплайсинг единственный способ перехвата Api ядра?
*адрес функции
Clerk, а адрес процедуры я правильно получаю? Просто у меня такое ощущение что я вообще пишу чёрт знает куда, ибо ни бсодов ни соощений debugview...
typedef struct TermProcessCode { UCHAR First; PVOID Next; UCHAR Last; } OldTerminateProcessCode , *pOldTerminateProcessCode; typedef...
Прочитал цикл статей про сплайсинг, решил попробовать с ZwTermnateProcess, но почему-то не работает код: typedef struct TermProcessCode {...
Clerk, NtDeleteKey. Я же сказал, я думал это одно и тоже
Great, я всё исправил уже, ошибка была в в том, что ExAllocatePool возвращал NULL частенько, надо делать проверку, а с ZwDeleteKey и NtDeleteKey,...
понятно, убрал вообще понижение IRQL, видимо ошибка где-то в коде.
Имена участников (разделяйте запятой).