如何在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://91exe.cn/cshi/202508-21664.html

(17)

文章推荐

  • 农垦的基本概念

    网上有关“农垦的基本概念”话题很是火热,小编也是针对农垦的基本概念寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。农垦,这支农业战线的“国家队”,代表着我国农业先进生产力的发展方向,可相当长的一段时期以来,农垦一直在亏损的局面中“煎熬”。新年伊始,农垦战线终

    2025年07月31日
    27
  • 教程开挂辅助“手机麻将怎样开挂”附开挂脚本详细步骤

    教程开挂辅助“手机麻将怎样开挂”附开挂脚本详细步骤>亲,手机麻将怎样开挂这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。2022首推。全网独家,诚信可靠,

    2025年08月01日
    104
  • 教程分享“微信链接拼三张开挂神器”开挂详细教程

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

    2025年08月05日
    25
  • 实测分析“雀神麻将开挂教程方法”附开挂脚本详细步骤

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

    2025年08月05日
    26
  • 推荐一款“小程序微乐麻将必赢软件(透视)”详细开挂玩法

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

    2025年08月09日
    21
  • 实测教程”老铁联盟辅助器免费版”开挂详细教程

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

    2025年08月14日
    23
  • 实测辅助”大唐山西麻将可以开挂吗”附开挂脚本详细步骤

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

    2025年08月17日
    20
  • 教程开挂辅助“中至二人麻将开挂神器免费安装”分享必要外挂教程

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

    2025年08月18日
    23
  • 什么是全新智能操作系统ios7

    网上有关“什么是全新智能操作系统ios7”话题很是火热,小编也是针对什么是全新智能操作系统ios7寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。iOS7是iOS系统是继iOS3至iOS6以来最大一次升级,它采用全新的图标界面设计,总计有上百项改动,其中

    2025年08月21日
    26
  • 宜昌龙福保健食品营销有限公司怎么样?

    网上有关“宜昌龙福保健食品营销有限公司怎么样?”话题很是火热,小编也是针对宜昌龙福保健食品营销有限公司怎么样?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。宜昌龙福保健食品营销有限公司是2011-11-24在湖北省宜昌市注册成立的有限责任公司(自然人投资或控

    2025年08月21日
    18

发表回复

本站作者后才能评论

评论列表(4条)

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

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

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

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

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

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

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

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

    联系我们

    邮件:易佳号@sina.com

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

    关注我们