zoukankan      html  css  js  c++  java
  • SmLoadDeferedSubsystemApi

    SmLoadDeferedSubsystemApi 借用进程启动??parent handle hack?

    switch (SmApiMsg->ApiNumber) {
    case SmExecPgmApi :
    Status = (SmpApiDispatch[SmApiMsg->ApiNumber])(
    SmApiMsg,
    ClientContext,
    ConnectionPort);
    break;

    case SmLoadDeferedSubsystemApi :
    Status = (SmpApiDispatch[SmApiMsg->ApiNumber])(
    SmApiMsg,
    ClientContext,
    ConnectionPort);

    PSMAPI SmpApiDispatch[SmMaxApiNumber] = {
    SmpCreateForeignSession,
    SmpSessionComplete,
    SmpTerminateForeignSession,
    SmpExecPgm,
    SmpLoadDeferedSubsystem
    };

    键名Optional是属于defer类的subsytem,smss.exe取出值Posix,再读取Posix键的值,发现是psxss.exe。所以如果上面的方法成功,就可以发命令让smss.exe进程来启动psxss.exe

    Required是必须类,所以现在windows一般都是取出windows键的值csrss.exe来启动,debug也是,不过觉的都是为空。

    Kmode是smss.exe读取出来使用NtSetSystemInformation()函数功能号SystemExtendServiceTableInformation完成加载的

    另外笔记下,smss.exe是最早的用户进程(在内核Phase1Initxx阶段创建,smss.exe这个进程名没法配置,硬编码在代码里的),smss.exe启动2个进程(其实还有1个,就是autocheck.exe,不过启动后就退出了)分别是:winlogon.exe和csrss.exe

    其实这2个进程都是可以配置的,csrss.exe在上面截图已经看到了,就是在那配置。而winlogon.exe是smss.exe是在Session Manager下找不到Excute子键时默认启动的进程,

    暂时还不晓得Excute是怎么配置的。

    ****不一定全对,只是粗糙看了下泄露的旧源码啥的,

  • 相关阅读:
    .net core 反编译一小段
    .net core 自动注入。。。。懵逼。。
    css 过渡效果
    sqlserver 插入语句
    sqlserver 删除表 外键
    关于selenium的CI、框架……
    浅析selenium的PageFactory模式
    java使用IO读写文件总结
    selenium结合sikuliX操作Flash网页
    记阿里巴巴的一次面试
  • 原文地址:https://www.cnblogs.com/kkindof/p/2571064.html
Copyright © 2011-2022 走看看