易语言反截图_[原创]反截图技术的原理及简单实现
前言
该文章将邀请世界第一的编程语言-易语言来为我们演示。
吹逼
随着好玩的游戏越来越多,盖佬人才越来越突出,好玩的游戏+一款牛逼的WG成为了一个老挂逼的日常生活。鲁迅说过‘有乐同享,有难同当‘,于是乎,老挂逼们开始投身于直播行业,以‘高超’的技术,来向大众传递游戏胜利的快乐。为了防止大众偷学到自己的技术,一种技术诞生了-反截图。
啥叫反截图
顾名思义,就是让你截取不到你想截取的图片呗。这时聪明人又来了,那我直接把截图函数全部干掉不就完事了吗?
emmm,虽然是这么个理,但是你确定你干得来吗。
为什么要反截图
直播、装逼、防止一些有截图检测的游戏
实现一个简单反截图
这个简单啊,打钱就完事。
咳咳,开个玩笑。上才艺
看不懂没关系,会用就行。
这样就OK,然后咱们运行后看一下截图效果
我们发现,窗口变黑了。这是一个简单的反截图效果,虽然能反截图了,但是是个人都觉得这种反截图不靠谱。假设你正在用科技直播,观众全部就看着黑框了。而且,咱们自己都觉得这种反截图效果不行,那游戏公司还会傻吗?不给你一个套餐,难道留着回家过年吗。
那么问题来了,当前这个黑框是覆盖在我们窗口上面呢,还是他把窗口直接变成黑色。接下来开始探究。
探究反截图原理
那么我们能不能实现一个全透明的反截图效果呢,比如B覆盖在A上面,我们截图,只能截取到A,B就完全处于一个透明的状态。答案是肯定的。接下来我们来进一步研究一下,既然我们想让他透明,好办啊,我们给窗口设置一个透明。
运行起来之后,发现窗口透明了
那我们来重新截图试试看。
诶,我们发现刚刚那个反截图的效果,也变透明了。我们添加一个控件再运行截图看看效果。
我们发现,看不到按钮。经过这样的测试我们发现,SetWindowDisplayAffinity这个函数之后所产生的黑框,并不是覆盖上去的,而是直接把窗口刷新成为黑色的,而且这种黑色的效果可以通过修改窗口透明度来控制黑色的可见度。
由此可知,一个新的反截图思路:给窗体一个透明度,这样就实现了全透明的反截图。当然还有另一种方法:论坛已经给出,https://bbs.pediy.com/thread-258830.htm
Ok.下面开始根据第一种方法实现反截图(嘴角开始上扬)。
优化反截图
其实在上面我们已经实现了全透明的反截图,只不过用的是易语言官方库的命令(易语言真是世界上最好用的语言呢),现在用API实现。
用这个函数设置就行,第一个参数句柄,第四个参数:1则用crKey,忽略bAlpha;2则用bAlpha,忽略crKey。这个函数干嘛的呢,就是设置窗口透明度的。
下面为了方便演示,我在窗口写了字,看看效果。
截图看一下效果
这样的话,就实现了一个简单的反截图。如果想要实现效果更好的,可以到我上面指出的帖子里看看实现方法。
下面是我将此技术运用在D3D透明绘制上
截图后
结束语
本篇文章只是探究一个低级的反截图,该反截图的原理也是我再某论坛看到的,虽说开源,但是却是调用DLL。凭着正义心驱使的我岂能让这种作为猖狂,直接扔进OD瞎操作,最后得知原理。
另外该种方法还能过录制。行了,这几天事务繁忙,突然有空就分析了一下反截图,然后就顺便来看雪划了水,溜了溜了。
最后于 2020-10-15 12:34
被PlaneJun编辑
,原因:
易语言反截图_[原创]反截图技术的原理及简单实现相关推荐
- 易语言lsp劫持_[原创]不用导出任何函数的DLL劫持注入,完美!
. 最近在写SOCKS5代理,用的是LSP.代理成功了,但是因为LSP模块没办法隐藏,各种三方模块啊 删除PE头,强制删除文件,游戏都会闪退 想来想去,就想到这个法子,HOOK LdrLoadDll返 ...
- 易语言反截图_[搬运]反截图技术的原理及简单实现
本帖最后由 592618243 于 2020-12-2 19:43 编辑 前言 该文章将邀请世界第一的编程语言-易语言来为我们演示. 吹逼 随着好玩的游戏越来越多,盖佬人才越来越突出,好玩的游戏+一款 ...
- 易语言打开摄像头_中维摄像头易语言实例
[实例简介]用易语言实现中维摄像头的操作 [实例截图] [核心代码] .版本 2 .支持库 eAPI .支持库 iext2 .支持库 spec .子程序 __启动窗口_创建完毕 .局部变量 l, 逻辑 ...
- 易语言调用子程序_ c,易语言汇编调用子程序源码
.版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 ' 调子程_Asm() ' 主要用于给某个子程序'自定义事件' 它等效于某官方支持库的'调用子程序()'命令 具体使用方法 可参照 ...
- 易语言lsp劫持_易语言网截插件修复源码
易语言网截插件修复源码.版本 2 .支持库 shell .支持库 eNetIntercept .子程序 _按钮1_被单击 写到文件 (取特定目录 (10) + "/lsp.bat" ...
- mysql数据库+易语言的应用_易语言mysql数据应用源码
易语言mysql数据应用源码 易语言mysql数据应用源码 系统结构:注册账号,连接Mysql,用户注册验证码,修改密码验证码,忘记密码验证码,修改密码,忘记密码, ======窗口程序集1 | | ...
- linux 易语言窗口程序_易语言开发Linux程序
令人兴奋的是易语言可以开发Linux程序,易语言是一个跨平台的开发工具,支持Windows及Linux.使用易语言开发Linux程序,您可以在Windows环境下编写基本于Windows的程序,及编写 ...
- 易语言系列————————窗口_枚举所有子窗口(精易模块)
在易语言开发中,有时想直接从一个窗口中拿取 窗口下所有控件的信息,可以用window知道的api入手,但是精益模块有带有这个功能哦. 窗口_枚举所有子窗口() 三个参数: 一.欲寻找控件的窗口句柄 二 ...
- 易语言java类_易语言面对对象编程
易语言面对对象编程---类的创建与使用 面对对象编程,可以说是当前最流行的编程方式,当前流行的面对对象的编程语言很多,如:C++.JAVA等等.易语言3.8版推出后,同样紧跟编程语言发展的方向,也开始 ...
最新文章
- go定时器 每天重复_通过测试学习Go:Hello, World
- Android GUI之View测量
- 自动化测试报告(ReportNG)手把手教你
- 模拟退火算法解决TSP(python实现 110+行代码)【gif生成】
- idea 提示vue插件_Vue + SpringBoot + MyBatis 音乐网站
- 模型的燃料,数据采样的秘密
- 博客园博客PDF生成器
- ShellCode初体验
- mysql count innodb 不正确_关于mysql中innodb的count优化问题分享
- python中面向对象空间时间_零基础老男孩学Python|面向对象之类的空间问题
- 简单使用_八角气囊如何使用简单介绍
- iOS开发:如何修改app名称
- 自定义ViewGroup——自定义布局
- https封装类,支持get/post请求
- 微信公众号用秀米网插入视频
- 2019阿里巴巴技术面试题集锦!(附答案)
- 实验吧-隐写-欢迎来到地狱(Word文档文字隐藏、Rabbit加密)
- IDEA常用快捷键(Windows)
- 王者荣耀小游戏4.0
- Docker高级篇之Mysql主从复制、Redis集群扩容缩容配置案例详解