доброго дня! ищу инфу по использованию ф-ции ZwRegisterThreadTerminatePort. у кого есть, поделитесь, плз! спасибо!
у неббета сказано так: ZwRegisterThreadTerminatePort registers an LPC port that should be sent a message when the thread terminates. NTSYSAPI NTSTATUS NTAPI ZwRegisterThreadTerminatePort( IN HANDLE PortHandle ); Parameters PortHandle A handle to a port object.The handle need not grant any specific access. Return Value Returns STATUS_SUCCESS or an error status, such as STATUS_INVALID_HANDLE. Related Win32 Functions None. ZwRegisterThreadTerminatePort adds the port to the list of ports that will receive an LPC message when the current thread terminates. The message has a MessageType of LPC_CLIENT_DIED and contains 8 bytes of data, specifically the creation time of the thread in the standard time format (that is, the number of 100-nanosecond intervals since January 1, 1601).
Typically, NtRegisterThreadTerminatePort is used in CsrNewThread function, called before thread execution begins, but in thread context. Function associate PortHandle with thread, and sends LPC_TERMINATION_MESSAGE to specified port immediatelly after call NtTerminateThread. это все, что я нашла. я так понимаю сей порт создается в csrss.exe. возможно ли его прослушать и реагировать на LPC_TERMINATION_MESSAGE
это громко сказано Код (Text): _CsrNewThread: push dword ptr [_CsrPortHandle] call _NtRegisterThreadTerminatePort retn прослушать порт да можно наверное, если осторожно, не забывая передавать дальше с подгруженными символами ntdll.dll вообще детская задача но прошу прощения - зачем? коламбия пикчерс не представляет...
законнектиться неполучается. отказано в доступе. это у меня идея-фикс: подумала, что можно узнать, хотят ли убить моё приложение до того как это осуществится не используя дополнительной проги-монитора.
ну это несколько барышня кривовато если захотят убить - будут пытаться открыть процесс с правами на убивство если получится - будут терминировать порт в клиент-сервер тут ни при чем вообще я бы тебе посоветовал не заморачиваться с неубиваемостью ее можно делать но это пестня про броню и ядро а сделать феникс это проще надежнее и эффективнее
сие - извесно. нехочется хучить кучу ф-ций. я накропала драйвер с перехватом NtOpenProcess (как у MS-Rem-a), но все равно убивается ( думала, мож чё нового изобрету, а z0mailbox мне крылья обрезал )