如何在SYSTEM权限下实现屏幕监控

网上有关“如何在SYSTEM权限下实现屏幕监控”话题很是火热,小编也是针对如何在SYSTEM权限下实现屏幕监控寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...

网上有关“如何在SYSTEM权限下实现屏幕监控”话题很是火热 ,小编也是针对如何在SYSTEM权限下实现屏幕监控寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

一、 屏幕监控的基本原理

屏幕监控简单说就是对进程的当前桌面进行截屏存成位图 ,然后将此位图数据传输到远程 。

对桌面进行截图需要通过一系列Windows GDI API来完成的。

首先通过CreateDC ,CreateCompatibleDC,CreateCompatibleBitmap,SelectObject等API将“DISPLAY ”驱动器的设备上下文与位图句柄关联起来。

然后通过GetStockObject ,GetDC,SelectPalette等API处理调色板 。

最后在一个循环中通过GetDIBits将所有水平线像素数据存入到缓冲区中去 。

这个缓冲区就是我们想要的位图数据,只要将这些数据组织一下 ,就可以当成位图显示出来了。通过连续传输位图,就可以实时对远程屏幕进行监控了。这个过程比较简单,就不浪费文字了 。

二 、窗口站与桌面

首先必须了解几个重要的概念:

窗口站(WindowsStation)和桌面(Desktop)是Windows操作系统底层暴露给Windows API的执行体对象(Windows内部有两种类型的对象:执行体对象和内核对象。执行体对象指由执行体的各种组件如进程管理器、内存管理器等等所实现的对象。内核对象是由Windows内核实现的一组更基本的对象) 。

其中 ,窗口站对象包含了一个剪贴板、一组全局原子和一组桌面对象。桌面对象是一个被包含在窗口站内部的对象,桌面对象有一个逻辑显示器表面,其中包含了窗口 、菜单和钩子。

0号窗口站(WinSta0)和默认的桌面对象(default desktop)是有Winlogon进程创建的 。窗口站是会话(Session)的下一层组织结构。一个会话可以有多个窗口站 ,但同一时刻只能有一个窗口站可以与用户进行交互。每个窗口站有自己的剪贴板,可以有多个桌面 。Winlogon进程调用NtUserCreateWindowsStation函数创建窗口站,再调用NtUserCreateDesktop来创建桌面。它首先会创建一个名为Winlogon的桌面供自己使用(Windows登录界面就属于属于这个桌面) ,然后再创建一个名为Default的桌面给应用程序使用。创建完桌面后 ,Winlogon调用SetActiveDesktop函数将Winlogon桌面设置为当前的活动桌面 。

之后,Winlogon会创建用于管理系统服务的服务管理器(Service.exe)和本地安全认证子系统(LSASS.exe) 。用户登陆信息被验证后,Winlogon会将应用程序桌面激活 ,启动UserInit程序,UserInit会运行注册表中定义的登录脚本,然后启动操作系统外壳程序(Shell-默认是explorer.exe)。这是SYSTEM权限进程和普通用户进程逻辑显示器桌面分离的开始。在以后进程创建CreateProcess的过程中 ,如果没有指定桌面,那么进程就会与调用者的当前桌面关联在一起 。

在实际测试中,发现services 、svchost这些进程似乎没有关联任何桌面(截的屏都是黑屏)。普通的进程都是Default桌面 ,登录界面是Winlogon桌面。所以,当dll插入到service.exe等进程中的时候,要想实现截屏必须将进程与Default桌面关联 ,用户注销、离开或未登录时就要将进程与Winlogon桌面关联 。

Windows给我们提供的一些API允许我们干这些事。

首先可以通过OpenWindowStation打开一个窗口站对象,然后通过SetProcessWindowStation将进程与窗口站关联,通过OpenDesktop打开一个桌面对象 ,再通过SetThreadDesktop将线程与这个桌面关联。这样service.exe就可以实现截屏了 。但如何才能知道当前用户在哪个桌面呢?可以通过下列函数实现:

OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE, MAXIMUM_ALLOWED);//打开输入桌面

GetUserObjectInformation(hActiveDesktop, UOI_NAME, pvInfo, sizeof(pvInfo), &dwLen); //获取指定桌面对象的信息 ,一般情况和屏保状态为default,登陆界面为winlogon

pvInfo缓冲区包含的就是当前桌面。这样就可以放心的调用OpenDesktop打开它了。

完整代码如下:

BOOL OpenDesktop(LPCWSTR szName)

{

WCHAR pvInfo[128] = {0};

WCHAR tmp[1024] = {0};

if(szName != NULL)

lstrcpy(pvInfo, szName);

else

{

HDESK hActiveDesktop;

DWORD dwLen;

hActiveDesktop = OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE, MAXIMUM_ALLOWED);

if(!hActiveDesktop)//打开失败

{

return FALSE;

}

//获取指定桌面对象的信息,一般情况和屏保状态为default ,登陆界面为winlogon

GetUserObjectInformation(hActiveDesktop, UOI_NAME, pvInfo, sizeof(pvInfo), &dwLen);

if(dwLen==0)//获取失败

{

return FALSE;

}

CloseDesktop(hActiveDesktop);

//打开winsta0

m_hwinsta = OpenWindowStation(_T("winsta0"), FALSE,

WINSTA_ACCESSCLIPBOARD |

WINSTA_ACCESSGLOBALATOMS |

WINSTA_CREATEDESKTOP |

WINSTA_ENUMDESKTOPS |

WINSTA_ENUMERATE |

WINSTA_EXITWINDOWS |

WINSTA_READATTRIBUTES |

WINSTA_READSCREEN |

WINSTA_WRITEATTRIBUTES);

if (m_hwinsta == NULL){

return FALSE;

}

if (!SetProcessWindowStation(m_hwinsta)){

return FALSE;

}

//打开desktop

m_hdesk = OpenDesktop(pvInfo, 0, FALSE,

DESKTOP_CREATEMENU |

DESKTOP_CREATEWINDOW |

DESKTOP_ENUMERATE |

DESKTOP_HOOKCONTROL |

DESKTOP_JOURNALPLAYBACK |

DESKTOP_JOURNALRECORD |

DESKTOP_READOBJECTS |

DESKTOP_SWITCHDESKTOP |

DESKTOP_WRITEOBJECTS);

if (m_hdesk == NULL){

return FALSE;

}

SetThreadDesktop(m_hdesk);

return TRUE;

}

代码有点乱,将就一下!

三、后记

上面的代码只是针对service.exe这样的进程,要想做的通用还要再加些代码 。

百度知道

我的电脑里面出现了很多的“控制台窗口进程”...展开

默一学长

TA获得超过7942个赞

咨询成为第231位粉丝

系统进程:是系统运行的基本条件 ,有了这些进程,系统就能正常运行!有的时候病毒会伪装成进程!所以我们要认识常见的系统进程。如下:

Windows常见系统进程:

Rundll32.exe(32位DLL动态链支持)

mdm.exe(Windows管理控制台)

WmiPrvSE.exe(Windows WMI Provider Host)

Services.exe(Windows服务和控制器应用程序)

inetinfo.exe(Windows IIS Admin Service Helper)

Wscntfy.exe(Windows Security Center系统安全警示程序)

Msiexec.exe(Windows installer组件)

WUDFhost.exe(Windows用户模式驱动程序框架主机进程)

Wdfmgr.exe(Windows用户模式驱动程序框架)

alg.exe(Windows应用层网关服务)

lsass.exe:LSA Shell (Export Version)本地安全认证服务

iexplore.exe是进程(IE浏览器)

Csrss.exe(客户服务器运行时流程)

explorer.exe(Windows图像壳程序)

Taskmgr.exe(Windows任务管理器)

Winlogon.exe(Windows登陆程序)

lsass.exe进程(本地安全认证服务)

dwm.exe进程(桌面窗口管理器)

Conhost.exe进程(控制台窗口主机)

Ctfmon.exe(Windows文本输入)

Conime.exe(命令提示符输入支持)

svchost.exe(Windows服务主进程)

OHotfix.exe(安装客户端更新文件)

Ose.exe(Microsoft Office源引擎)

Imjpmig.exe(Windows输入法编辑器)

MMC.exe(Windows Machine Debug Manager)

smss.exe(Windows会话管理器)

wuauclt.exe(Windows系统自动更新)

spoolsv.exe(Spooler SubSystem App后台处理程序子系统应用程序)

wuauclt.exe(Windows系统自动更新)

当哪一天发现,有可以进程的时候不妨拿出来看看!

关于“如何在SYSTEM权限下实现屏幕监控”这个话题的介绍 ,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[白统宇]投稿,不代表易佳号立场,如若转载,请注明出处:https://www.91exe.cn/cshi/202508-21664.html

(1)

文章推荐

  • 个人期许怎么写

    网上有关“个人期许怎么写”话题很是火热,小编也是针对个人期许怎么写寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。问题一:自我期许怎么写自我期许=自许,也就是自己对自己提出期望,类似于计划和决心。打算自己下一步怎么办,达到什么目标?特别提醒的是:目标定得

    2025年07月23日
    24
  • 推荐一款“微信拼三张开挂试用一天”开挂详细教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款软件的用户可以非常安心,绝对没有被

    2025年08月04日
    26
  • 分享实测“手机十三水为什么一直输(透视)”详细开挂玩法

    亲,手机十三水为什么一直输这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客服QQ群:本司针对手游进行匹配,选择我们的四大理由:

    2025年08月07日
    26
  • 实操教程“中至跑得快有透视吗?”其实确实有挂

    亲,中至跑得快有透视吗?这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服QQ群【】安装软件. 微信打麻将是一款非常流行的棋牌游

    2025年08月08日
    21
  • 教程开挂辅助“微乐捉鸡麻将小程序开挂神器下载安装(透视)”详细开挂玩法

    教程开挂辅助“微乐捉鸡麻将小程序开挂神器下载安装(透视)”详细开挂玩法>亲,微乐捉鸡麻将小程序开挂神器下载安装这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。

    2025年08月10日
    22
  • 玩家辅助神器:“星悦浙江麻将到底有没有挂”最新辅助详细教程

    玩家辅助神器:“星悦浙江麻将到底有没有挂”最新辅助详细教程>亲,星悦浙江麻将到底有没有挂这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。2022首推。全网

    2025年08月10日
    22
  • 主要矿种和重点地区矿产资源勘查取得重大突破

    网上有关“主要矿种和重点地区矿产资源勘查取得重大突破”话题很是火热,小编也是针对主要矿种和重点地区矿产资源勘查取得重大突破寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1.煤炭全国煤炭勘查投入资金324.52亿元,完成钻探工作量2551万米,新发现矿产地21

    2025年08月14日
    33
  • 实测教程”新超凡大厅辅助开挂”最新辅助详细教程

    亲,新超凡大厅辅助开挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客服微:本司针对手游进行匹配,选择我们的四大理由:1、软件

    2025年08月14日
    24
  • 教程分享“闲逸碰胡开挂免费版”开挂详细教程

    您好:闲逸碰胡开挂免费版这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微信】安装软件.

    2025年08月23日
    15
  • 竹联帮的帮会背景

    网上有关“竹联帮的帮会背景”话题很是火热,小编也是针对竹联帮的帮会背景寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1953年左右,孙德培于中和乡(今永和市、中和市)成立中和帮。之后在孙德培的带领下开始扩大地盘势力,两年内中和帮的势力扩及中和、板桥等地。在

    2025年08月25日
    10

发表回复

本站作者后才能评论

评论列表(4条)

  • 白统宇
    白统宇 2025年08月27日

    我是易佳号的签约作者“白统宇”!

  • 白统宇
    白统宇 2025年08月27日

    希望本篇文章《如何在SYSTEM权限下实现屏幕监控》能对你有所帮助!

  • 白统宇
    白统宇 2025年08月27日

    本站[易佳号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 白统宇
    白统宇 2025年08月27日

    本文概览:网上有关“如何在SYSTEM权限下实现屏幕监控”话题很是火热,小编也是针对如何在SYSTEM权限下实现屏幕监控寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...

    联系我们

    邮件:易佳号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们