592618243 发表于 2020-12-2 18:11

[搬运]反截图技术的原理及简单实现

本帖最后由 592618243 于 2020-12-2 19:43 编辑

          前言   
                                                该文章将邀请世界第一的编程语言-易语言来为我们演示。

         吹逼

                                  随着好玩的游戏越来越多,盖佬人才越来越突出,好玩的游戏+一款牛逼的WG成为了一个老挂逼的日常生活。鲁迅说过‘有乐同享,有难同当‘,于是乎,老挂逼们开始投身于直播行业,以‘高超’的技术,来向大众传递游戏胜利的快乐。为了防止大众偷学到自己的技术,一种技术诞生了-反截图。



啥叫反截图
            顾名思义,就是让你截取不到你想截取的图片呗。这时聪明人又来了,那我直接把截图函数全部干掉不就完事了吗?


      ennnnn你行你上。

      为什么要反截图       直播、装逼、防止一些有截图检测的游戏

      实现一个简单反截图       这个简单啊,打钱就完事。



咳咳,开个玩笑。上才艺



         看不懂没关系,会用就行。


         这样就OK,然后咱们运行后看一下截图效果



         我们发现,窗口变黑了。这是一个简单的反截图效果,虽然能反截图了,但是是个人都觉得这种反截图不靠谱。假设你正在用科技直播,观众全部就看着黑框了。而且,咱们自己都觉得这种反截图效果不行,那游戏公司还会傻吗?不给你一个套餐,难道留着回家过年吗。      那么问题来了,当前这个黑框是覆盖在我们窗口上面呢,还是他把窗口直接变成黑色。接下来开始探究。



探究反截图原理         那么我们能不能实现一个全透明的反截图效果呢,比如B覆盖在A上面,我们截图,只能截取到A,B就完全处于一个透明的状态。答案是肯定的。接下来我们来进一步研究一下,既然我们想让他透明,好办啊,我们给窗口设置一个透明。



      运行起来之后,发现窗口透明了


         那我们来重新截图试试看。

         诶,我们发现刚刚那个反截图的效果,也变透明了。我们添加一个控件再运行截图看看效果。


         我们发现,看不到按钮。经过这样的测试我们发现,SetWindowDisplayAffinity 这个函数之后所产生的黑框,并不是覆盖上去的,而是直接把窗口刷新成为黑色的,而且这种黑色的效果可以通过修改窗口透明度来控制黑色的可见度。

由此可知,一个新的反截图思路:给窗体一个透明度,这样就实现了全透明的反截图,
      Ok.下面开始根据第一种方法实现反截图(嘴角开始上扬)。

优化反截图       其实在上面我们已经实现了全透明的反截图,只不过用的是易语言官方库的命令(易语言真是世界上最好用的语言呢),现在用API实现。

   用这个函数设置就行,第一个参数句柄,第四个参数:1则用crKey,忽略bAlpha;2则用bAlpha,忽略crKey。这个函数干嘛的呢,就是设置窗口透明度的。

   下面为了方便演示,我在窗口写了字,看看效果。

      截图看一下效果

       这样的话,就实现了一个简单的反截图。如果想要实现效果更好的,可以到我上面指出的帖子里看看实现方法。       下面是我将此技术运用在D3D透明绘制上

          截图后

结束语       本篇文章只是探究一个低级的反截图,该反截图的原理也是我再某论坛看到的,虽说开源,但是却是调用DLL。凭着正义心驱使的我岂能让这种作为猖狂,直接扔进OD瞎操作,最后得知原理。

另外这种方法还能过OBS直播/录制等等,感谢@PlaneJun大牛的分享。

592618243 发表于 2020-12-2 22:49

w7lovelmy 发表于 2020-12-2 22:39
偷偷拿手机出来拍不就好了。。还有谁反截图的。。出来~!

类似LXL某WG三杀四杀五杀自动截图的嘛还有各大主播直播过直播跟录制之类的

qq148 发表于 2020-12-2 18:40

我在易语言知道这个能窗口反截图,但是我想问问怎么让绘制反截图,绘制好像没有窗口句柄

592618243 发表于 2020-12-2 18:58

qq148 发表于 2020-12-2 18:40
我在易语言知道这个能窗口反截图,但是我想问问怎么让绘制反截图,绘制好像没有窗口句柄

外部绘制。

笨蛋蛋 发表于 2020-12-2 19:00

那么问题来了 怎么反 反截图

vvang_pengfei 发表于 2020-12-2 19:05

我就想知道网贷甚至银行的app都无法截图,怎么破,,安卓10。

592618243 发表于 2020-12-2 19:30

vvang_pengfei 发表于 2020-12-2 19:05
我就想知道网贷甚至银行的app都无法截图,怎么破,,安卓10。

不会啊用自带的都能截啊华为没毛病!{:1_919:}

592618243 发表于 2020-12-2 19:31

笨蛋蛋 发表于 2020-12-2 19:00
那么问题来了 怎么反 反截图

这就得邀请我们的南极企鹅厂来一期专业的讲解了。

我来了老大 发表于 2020-12-2 19:53

技术贴支持一个

gprboy 发表于 2020-12-2 20:02

学习了,灰常有用。

卖血上网 发表于 2020-12-2 20:02

雕图一堆{:301_997:}
页: [1] 2 3
查看完整版本: [搬运]反截图技术的原理及简单实现