Задача: Изменить SID процесса на новое значение. В этой структуре хранится группа пользователя, который запустил процесс. Хоть это не документированная структура, но я её облазил вдоль и поперёк. Вот её структура: typedef struct _SID_IDENTIFIER_AUTHORITY { UCHAR Value[6]; } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; typedef struct _SID { UCHAR Revision; UCHAR SubAuthorityCount; SID_IDENTIFIER_AUTHORITY IdentifierAuthority; ULONG SubAuthority[1]; } SID, *PREAL_SID; //(Сделал так для удобства) Получить информацию SID можно: ZwQueryInformationToken(hToken, TokenUser, buffer, sizeof(buffer), &tokenInfoLength); Buffer будет содержать инфармацию скопированную ZwQueryInformationToken с настоящего SID процесса. Устанавливать его недьзя. Вопрос, как к нему добраться, чтоб изменить. ZwQueryInformationToken не специальная функция и в ntoskrnl много ещё чего делает и повторить это трудно. Может кто помежет найти способ получать не копию SID, а его самого для изменения(адресс).