Есть cs:eip в обработчике прерывания. Как определить какому процессу сs:eip принадлежит? Через NtQueryInformationProcess() предполагаю что будет долго поэтому не годится. Через двусвязный список EPROCESS??? Но почему-то EPROCESS->LdtInformation почемуто там ноль в каждом процессе. (WINXP, структуры от сюда http://www.acc.umu.se/~bosse/ntifs.h) Помогите пожалуйста, что не так? как узнать дескрипторы процесса?
Обработчик прерывания? Перезагружаешь fs (или ds что там нужно посмотри в отладчике) и делаешь PsGetCurrentProcess(). А по cs:eip какому процессу принадлежит определить невозможно, потому что cs:eip может быть одинаковый в разных процессах.
cs может быть разный, если прикладная программа его меняет, но как правило он будет одинаковый. Вопрос не очень понял