winlogon!InitializeGlobals函数中的g_IsTerminalServer

server/2024/12/18 15:36:58/

winlogon!InitializeGlobals函数中的g_IsTerminalServer

BOOL InitializeGlobals(HINSTANCE hInstance)
{
    SID_IDENTIFIER_AUTHORITY SystemSidAuthority = SECURITY_NT_AUTHORITY;
    ULONG SidLength;
    TCHAR szComputerName[MAX_COMPUTERNAME_LENGTH+1];
    DWORD dwComputerNameSize = MAX_COMPUTERNAME_LENGTH+1;
    DWORD dwSize;
    TCHAR szProfile[MAX_PATH];
    PROCESS_SESSION_INFORMATION SessionInfo;
    HKEY hKey;
    DWORD dwType ;
    DWORD dwOptionValue = 0;
    ULONG LUIDDeviceMapsEnabled;
    HANDLE hSelfProcessToken;
    NTSTATUS Status;



    g_IsTerminalServer = !!(USER_SHARED_DATA->SuiteMask & (1 << TerminalServer));


    if (g_IsTerminalServer) {

        //
        // Query Winlogon's Session Id
        //

        if (!NT_SUCCESS(NtQueryInformationProcess(
                         NtCurrentProcess(),
                         ProcessSessionInformation,
                         &SessionInfo,
                         sizeof(SessionInfo),
                         NULL
                         ))) {

            ASSERT(FALSE);

            TerminateProcess( GetCurrentProcess(), EXIT_INITIALIZATION_ERROR );

        }

        g_SessionId = SessionInfo.SessionId;

    } else {

        //
        // For Non TerminaServer SessionId is always 0
        //
        g_SessionId = 0;

    }

    if (g_SessionId == 0) {

       g_Console = TRUE;

    }





./public/sdk/inc/ntdef.h:1473:    TerminalServer,

//
// the bit mask, SharedUserData->SuiteMask, is a ULONG
// so there can be a maximum of 32 entries
// in this enum.
//

typedef enum _SUITE_TYPE {
    SmallBusiness,
    Enterprise,
    BackOffice,
    CommunicationServer,
    TerminalServer,
    SmallBusinessRestricted,
    EmbeddedNT,
    DataCenter,
    SingleUserTS,
    Personal,
    Blade,
    EmbeddedRestricted,
    SecurityAppliance,
    MaxSuiteType
} SUITE_TYPE;


http://www.ppmy.cn/server/151209.html

相关文章

[论文阅读]What Was Your Prompt? A Remote Keylogging Attack on AI Assistants

What Was Your Prompt? A Remote Keylogging Attack on AI Assistants http://arxiv.org/abs/2403.09751 研究背景和问题&#xff1a; &#xff08;1&#xff09; 实际应用场景和问题提出 大型语言模型 &#xff08;LLM&#xff09; 和基于聊天的 AI 服务&#xff08;如 C…

一个免费好用的魔法

前不久发表了一个可以永久免费魔法才发表十几天就有1W人浏览&#xff0c;下载的人也有几百&#xff0c;但是老是被审核员针对被封了几天号&#xff0c;现在是发不出来的了 若是想要免费永久加速器的加联系方式&#xff0c;&#xff08;需要支付俩块来支持一下&#xff0c;感谢支…

游戏关卡分析:荒野大镖客2雪山终战

1、相关剧情 主角约翰一家在农场过着悠闲的日子&#xff0c;突然平静被打破&#xff0c; 女枪手来报信&#xff0c;在某小镇找到了迈卡的消息。 于是激发了约翰的满腔怒气&#xff0c;不顾妻子的反对&#xff0c;坚决要出战&#xff0c; 要彻底歼灭迈卡&#xff0c;为亚瑟…

java服务器中,如何判定是该使用单例系统,还是微服务架构,多库分布式,服务分布式,前端分布式

在设计Java服务器架构时&#xff0c;选择单例系统、微服务架构、多库分布式、服务分布式还是前端分布式&#xff0c;需要根据具体的业务需求、技术栈、团队规模和项目复杂度等因素进行综合考虑。以下是各个架构模式的适用场景和优缺点分析&#xff0c;帮助你做出决策。 1. 单例…

学习Ajax (概述,应用场景,使用jQury 实现ajax)

目录 前言 概述 什么是Ajax? 同步交互与异步交互的区别是什么呢&#xff1f; 应用场景 场景1 在搜索框搜索 资源 场景2 登录业务的对用户名处理 AJAX的优缺点 优点&#xff1a; 缺点&#xff1a; 使用jQury 实现ajax 使用步骤 1 引入jQury 文件 2 使用Ajax 函数…

【蓝桥杯】43699-四平方和

四平方和 题目描述 四平方和定理&#xff0c;又称为拉格朗日定理&#xff1a; 每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去&#xff0c;就正好可以表示为 4 个数的平方和。 比如&#xff1a; 502021222 712121222; 对于一个给定的正整数&#xff0c;可…

MR30分布式IO模块,为港口岸桥安全增效保驾护航

随着我国港口事业的快速发展&#xff0c;岸桥作为港口装卸作业的重要设备&#xff0c;其安全性和效率成为企业关注的焦点。 背景介绍 港口岸桥作为连接船舶与陆地的重要桥梁&#xff0c;承担着货物装卸的重任。在激烈的市场竞争中&#xff0c;提高岸桥的安全性和作业效率成为企…

k8s 部署方式kustomization和helm的区别

Kustomize 和 Helm 是 Kubernetes 中两种流行的配置管理工具&#xff0c;它们都用于管理 Kubernetes 资源&#xff0c;但它们的设计理念、功能和适用场景有所不同。以下是两者的详细对比&#xff1a; 1. 基本概念 Kustomize 功能&#xff1a;原生于 Kubernetes 的工具&#x…