V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mikewang
V2EX  ›  Windows

在 Windows 系统,如何防止软件窥屏?

  •  
  •   mikewang · 306 天前 via iPhone · 4496 次点击
    这是一个创建于 306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    macOS 中,一个程序即便是以 root 身份运行的,如果没有屏幕录制权限,那么它只能截取自身的画面。

    而 Windows 似乎对于截屏的权限比较宽松,程序可以在后台运行时轻松获取整个屏幕的画面。

    在 Windows ,是否有办法限制这种行为?

    第 1 条附言  ·  305 天前
    补充一下,我是在用户的角度来看的,防止未授权的截屏:比如我正愉快地看着 TG 群,然后 QQ 偷偷给我截了个图(打个比方,QQ 有截图插件,可以确定它有截图能力)

    并不是说我写的软件要防止别人截图。这一点有点歧义,楼下可能有人误解了,是我表述没有到位
    23 条回复    2023-06-28 13:56:41 +08:00
    hellomynameis
        1
    hellomynameis  
       306 天前 via Android
    Sandboxie
    jiangyc
        2
    jiangyc  
       306 天前
    阁下的防止软件窥屏固然厉害,但如果我用手机直接录像,阁下又如何应对呢?直接爆炸吗?
    ysc3839
        3
    ysc3839  
       306 天前 via Android
    没办法,只能安装到虚拟机里。
    Sandboxie 不确定能否禁止录屏。
    ysc3839
        4
    ysc3839  
       306 天前 via Android
    @jiangyc 你好,这个问题只要不在公共场合使用电脑即可解决
    HFX3389
        5
    HFX3389  
       306 天前
    iorilu
        6
    iorilu  
       306 天前 via Android
    使用虚拟机啊

    把可疑软件装虚拟机里
    laqow
        7
    laqow  
       305 天前   ❤️ 1
    虚拟机
    windows 和 linux 的逻辑都是只应该用自己信任的软件,苹果只能用苹果帮你信任的软件。
    dsgdsfh
        8
    dsgdsfh  
       305 天前
    我自己家电脑都是国产软件放虚拟机
    mercury233
        9
    mercury233  
       305 天前   ❤️ 1
    Sandboxie 不能防止,我在 explorer 中打开名为 NAS 的网络位置时,沙盒中的百度网盘会弹出对应广告
    Jirajine
        10
    Jirajine  
       305 天前
    Windows 的图形这方面似乎和 X 一样,有没有限制法不清楚。
    X 的话可以换 wayland 或者用 X in X 来隔离开。
    Badupp
        11
    Badupp  
       305 天前
    @hellomynameis 自己写过一个程序截屏放到 sandboxie 下。。这个程序还是可以截到完整屏幕。所以你的说法不成立
    c2const
        12
    c2const  
       305 天前   ❤️ 1
    0.现在硬件性能过剩,建议是自己信任+数字签名的软件才放到物理机运行,
    其它软件一律放虚拟机运行,甚至可以多个虚拟机来隔离 :)
    1.当然可以通过杀软或者自己 hook 截屏、录制等相关的系统函数,最后对抗不管是应用层还是内核、驱动层,截屏软件还是有可能绕过。
    2.虚拟机逃逸的难度和漏洞价值远远大于绕过杀软防截屏,建议想安全点就用虚拟机,想使用方便就用杀软。
    NoOneNoBody
        13
    NoOneNoBody  
       305 天前
    windows 有相关设置 —— Settings | Privacy & security | Screenshots and apps
    但具体能实现什么,达到什么级别的防护,我就不清楚了,搜搜官方说明

    sandboxie 有高防和普通,前者官网介绍可以切断和宿主的部分联系,但因为付费(好象是订阅制)我没试过
    普通的免费版,按官网所写,其实连读取宿主都不能完全限制,只有一些通用的限制功能
    c3de3f21
        14
    c3de3f21  
       305 天前
    怎么让网管窥我屏的时候是黑屏
    Tamamopoi
        15
    Tamamopoi  
       305 天前   ❤️ 1
    ScreenWings.exe ,开启后所有截图变成黑屏。
    james122333
        16
    james122333  
       305 天前 via Android
    这是在钓我吗? 真的是 以后都不讲什么了
    ysc3839
        17
    ysc3839  
       305 天前 via Android   ❤️ 1
    @Tamamopoi ScreenWings 应该就是弄个全屏透明鼠标可穿透的窗口,然后用 SetWindowDisplayAffinity 禁止该窗口截图。这种做法只能防君子,防不了小人,恶意软件可以轻易解除限制或者直接关闭这个软件。
    ADMlN
        18
    ADMlN  
       305 天前 via Android
    替换系统 dll ,hook 掉 bitblt 等函数,用 nop 填充 hdc 为桌面 dc 的分支,应该可以禁掉大多数的程序截屏功能
    Tamamopoi
        19
    Tamamopoi  
       305 天前
    @ysc3839 不太清楚如何实现,可能 hook 了截图函数?我用公司软件自带的截图是黑屏,主要防止公司监控,其他恶意软件倒是无所谓了哈哈
    codehz
        20
    codehz  
       305 天前
    @ADMlN 现在截图谁还用 dc 的方法截图啊(这种多数游戏一类的一开始就截不到),性能还慢,更好的 api 太多了(
    ysc3839
        21
    ysc3839  
       305 天前 via Android
    @Tamamopoi 原理我都说了,要防没有对这种情况进行针对性处理的“君子”当然没问题,但保不准有个“小人”先解除限制再截图。
    所以这种方案只能说有点用,但不能作为一种安全措施。
    mmdsun
        22
    mmdsun  
       304 天前
    其实微软有提供这种技术,现在很多保护视频防录屏+截图就是的。

    不过用在软件上,要稍微改下,hook.做个还是可行的。

    https://learn.microsoft.com/zh-cn/windows-hardware/drivers/audio/drm-overview

    就像奈飞视频,不能截图,录屏一样,截图出来都是黑色的那种效果。
    ooool
        23
    ooool  
       303 天前
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY SetWindowDisplayAffinity 这个可以实现黑色或者直接从截图上小时的效果,不过想截图还是可以截图到,参考我在 t/951977 的回帖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2764 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:25 · PVG 13:25 · LAX 22:25 · JFK 01:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.