CN112417533A - 防截屏方法、装置、计算机设备和存储介质 - Google Patents
防截屏方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112417533A CN112417533A CN202011348616.XA CN202011348616A CN112417533A CN 112417533 A CN112417533 A CN 112417533A CN 202011348616 A CN202011348616 A CN 202011348616A CN 112417533 A CN112417533 A CN 112417533A
- Authority
- CN
- China
- Prior art keywords
- target
- window
- attribute data
- view
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 207
- 238000012544 monitoring process Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 26
- 230000007246 mechanism Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 239000003550 marker Substances 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 230000002265 prevention Effects 0.000 abstract description 12
- 230000002787 reinforcement Effects 0.000 abstract description 10
- 230000000694 effects Effects 0.000 abstract description 8
- 238000009434 installation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000011230 binding agent Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种防截屏方法、装置、计算机设备和存储介质。所述方法包括:通过监听目标界面的目标方法是否被调用,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据。由于所述目标数据用于将所述目标界面设置为禁止截屏的界面,则根据所述目标窗口属性数据显示所述目标界面,对所有的窗口对象的防截屏效果进行加固,提升加固质量,从而防止恶意程序的屏幕截图并全面阻止恶意程序进行截屏,进而避免信息泄露。
Description
技术领域
本申请涉及数据安全技术领域,特别是涉及一种防截屏方法、装置、计算机设备和存储介质。
背景技术
移动终端已经成为人们日常生活中最常用的消费型电子产品之一。随着人们对移动终端的需求的增加,移动终端实现的功能也越来越多。其中,屏幕截图是移动终端的一个较为重要的功能。屏幕截图就是将屏幕上的桌面、窗口、对话框、选项卡等屏幕元素保存为图片。但是在屏幕截图时,特别是后台运行的恶意程序对一些密码输入、个人隐私等页面进行截图时,可能会记录到用户的隐私内容、安全内容等,造成用户的隐私内容、安全内容等泄露。
在传统技术中,通过监听程序进行防截屏操作,利用对应用程序进行监听以对截屏动作进行捕捉、定位和拦截等。但是,这些监听程序依赖于恶意程序使用的是操作系统提供的截图方式,而部分恶意程序可能并不会使用操作系统提供的截图方式,因此,通过这些监听程序防止恶意程序的屏幕截图并不能全面阻止恶意程序进行截屏,从而导致信息泄露。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效防止信息泄露的防截屏方法、装置、计算机设备和存储介质。
一种防截屏方法,所述方法包括:
监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;
若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;
根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;
根据所述目标窗口属性数据显示所述目标界面。
在其中一个实施例中,所述目标数据为安全标志数据;所述通过目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,包括:
在所述原始窗口属性数据的参数列表中增加标志参数;
将所述安全标志数据设置为所述标记参数的参数值,得到所述目标窗口属性数据。
在其中一个实施例中,所述根据所述目标窗口属性数据显示所述目标界面,包括:
将所述目标窗口属性数据发送至窗口管理服务,所述目标窗口属性数据包括至少一个视图;
通过所述窗口管理服务,根据所述目标窗口属性数据将所述至少一个视图显示在所述目标界面中。
在其中一个实施例中,在所述监听目标界面的目标方法是否被调用之前,所述方法还包括:
基于钩子机制拦截对窗口管理对象的调用;所述窗口管理对象用于添加所述目标界面所需要的各视图至窗口中并生成所述目标界面。
在其中一个实施例中,所述基于钩子机制拦截对窗口管理对象的调用,包括:
在添加视图的过程中,通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法;
基于所述钩子机制,拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据。
在其中一个实施例中,所述通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法,包括:
通过所述窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
在其中一个实施例中,所述拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据,包括:
拦截所述视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送所述原始窗口属性数据。
一种防截屏装置,所述装置包括:
方法监听模块,用于监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;
数据获取模块,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;
数据修改模块,用于根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;
界面显示模块,用于根据所述目标窗口属性数据显示所述目标界面
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中的方法步骤。
上述防截屏方法、装置、计算机设备和存储介质。所述方法包括:通过监听目标界面的目标方法是否被调用,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据。由于所述目标数据用于将所述目标界面设置为禁止截屏的界面,则根据所述目标窗口属性数据显示所述目标界面,对所有的窗口对象的防截屏效果进行加固,提升加固质量,从而防止恶意程序的屏幕截图并全面阻止恶意程序进行截屏,进而避免信息泄露。
附图说明
图1为一个实施例中防截屏方法的流程示意图;
图2为一个实施例中步骤S130的流程示意图;
图3a为一个实施例中步骤S140的流程示意图;
图3b为一个实施例中视图添加的流程示意图;
图4为一个实施例中防截屏方法的流程示意图;
图5为一个实施例中步骤S410的流程示意图;
图6a为另一个实施例中防截屏方法的流程示意图;
图6b为另一个实施例中拦截通信对象的流程示意图;
图7为一个实施例中防截屏装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
屏幕截图是移动终端的一个较为重要的功能。屏幕截图是将屏幕上的桌面、窗口、对话框、选项卡等屏幕元素保存为图片。但是在屏幕截图时,特别是后台运行的恶意程序对一些密码输入、个人隐私等页面进行截图时,可能会记录到用户的隐私内容、安全内容等,造成用户的隐私内容、安全内容等泄露。下面举例说明相关技术中防截屏的两种方法:
一方面,定位具体位置追加防截屏代码,其具体流程包括:首先对应用安装包解压后再进行反编译操作拿到源码,,然后,定位到特定的界面窗口和位置添加防截屏代码,最后重新编译、打包、再发布。但是通过定位的方式存在编码过程中难度和复杂度会比较高,在代码复杂度、代码兼容性以及代码运行效率上均表现不佳的问题,比如文件反编译过程比较耗时,再加上安装包的拆包打包等操作会很大程度的限制防截屏的效率;兼容性比较差,受不同系统不同版本不同页面结构的限制,定位手段可能会不一样。
一方面,通过监听程序进行防截屏操作,因为操作系统没有直接对截屏事件监听的接口,也没有广播,我们只能通过其他监听方式来解决它,比较主流的思路有:刷新数据;监听截屏目录中截图文件的变化情况;监听全部资源的变化来进行判断;监听截屏快捷按键(由于厂商自定义操作系统的多样性,再加上快捷键的不同以及第三方应用,监听截屏快捷键的方式是基本不可行的)。
比如,在Android系统中,通过在onPause()中刷新数据,利用设备在截屏的时候,为了用户有感知,所以会设计一个截图的动画效果以提示用户已经截图成功,在此处被截屏的Activity则会运行至onPause()生命周期内。利用FileObserver监听特定目录中资源变化情况,以此为触发条件获取到文件路径。通过ContentObserver监听多媒体图片库资源的变化。当终端上产生新的图片文件时通过MediaProvider类向图片数据库插入一条记录,以方便系统的图片库进行图片查询,可以通过ContentObserver接收图片插入事件,并获取插入图片的URI。
但是上述方式依旧存在以下问题:1)部分应用的截图方式,并没有设置截图动画,因此导致监听不到而导致信息泄露;2)不同手机默认的截屏路径可能不同,需要做大量适配处理;3)不同手机截屏触发的事件名称可能不同,需要大量测试适配。4)监听到截屏事件后并不能立即获取图片获取不到,需要延迟一段时间。
基于以上问题,本申请提出一种防截屏方法,监听目标界面的目标方法是否被调用,目标方法是用于设置窗口属性以显示目标界面的方法;若监听到目标方法,则获取目标方法中的原始窗口属性数据;根据目标数据对原始窗口属性数据进行修改,得到目标窗口属性数据,目标数据用于将目标界面设置为禁止截屏的界面;根据目标窗口属性数据显示目标界面。对所有的窗口对象的防截屏效果进行加固,提升加固质量,从而防止恶意程序的屏幕截图并全面阻止恶意程序进行截屏,进而避免信息泄露。
在一个实施例中,如图1所示,提供了一种防截屏方法,该方法包括以下步骤:
S110、监听目标界面的目标方法是否被调用。
S120、若监听到目标方法,则获取目标方法中的原始窗口属性数据。
其中,目标方法是用于设置窗口属性以显示目标界面的方法。窗口属性数据是指为了显示目标界面设置的窗口的属性数据,比如各需要显示的各视图的长宽高、对比、比例等属性。具体地,在操作系统开启一个应用程序时,操作系统会打开对应的活动组件。活动组件(Activity)是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含多个活动组件。为了显示目标界面,在活动组件启动后,操作系统创建窗口对象,在窗口的添加过程中需要调用目标方法。为了防止恶意程序进行截图,本实施例对目标方法进行监听,这样可以对所有窗口对象进行保护,实现对所有窗口对象的防截屏进行加固,从而提升防截屏的加固质量。对目标界面的目标方法进行监听,目标方法携带有原始窗口属性数据,且根据原始窗口属性数据显示的目标界面可能被恶意程序进行截屏,因此,若监听到该目标方法被调用,则拦截目标方法,并获取目标方法中的原始窗口属性数据。需要说明的是,操作系统可以是安卓Android系统、IOS移动操作系统、MacOS操作系统、Microsoft Windows操作系统等。
S130、根据目标数据对原始窗口属性数据进行修改,得到目标窗口属性数据。
S140、根据目标窗口属性数据显示目标界面。
其中,目标数据用于将目标界面设置为禁止截屏的界面。具体地,若利用原始窗口属性数据显示目标界面,则目标界面是容易被恶意程序进行攻击的。因此,需要利用具有禁止截屏属性的目标数据对原始窗口属性数据进行修改,得到目标窗口属性数据,并利用目标窗口属性数据显示目标界面,且修改得到的目标窗口属性数据不再允许目标界面被截屏。
上述防截屏方法中,通过监听目标界面的目标方法是否被调用,若监听到目标方法,则获取目标方法中的原始窗口属性数据;根据目标数据对原始窗口属性数据进行修改,得到目标窗口属性数据。由于目标数据用于将目标界面设置为禁止截屏的界面,则根据目标窗口属性数据显示目标界面,对所有的窗口对象的防截屏效果进行加固,提升加固质量,从而防止恶意程序的屏幕截图并全面阻止恶意程序进行截屏,进而避免信息泄露。进一步地,本实施例公开的防截屏方法相对于相关技术中的对安装包的解压、反编译、定位、重新编译、打包、再发布的加固过程来说,本申请所公开的方法是在应用程序的完整安装包的基础上,实现对应用安装包的防截屏加固,不仅提升了防截屏加固工作的效率,而且进一步地弥补了相关技术汇总的兼容性,实现在不同终端型号和操作系统版本之间的兼容性。
在一个实施例中,如图2所示,目标数据为安全标志数据。在步骤S130中,通过目标数据对原始窗口属性数据进行修改,得到目标窗口属性数据,包括以下步骤:
S210、在原始窗口属性数据的参数列表中增加标志参数。
S220、将安全标志数据设置为标记参数的参数值,得到目标窗口属性数据。
其中,安全标志数据是用于标志某窗口或者某显示界面是安全的且禁止截屏的。因此,利用安全标志数据用作目标数据对原始窗口属性数据进行修改。具体地,原始窗口属性数据对应有参数列表,在该参数列表中增加一个额外参数,即标志参数。利用目标数据为标志参数进行赋值,将安全标志数据设置为标记参数的参数值,得到目标窗口属性数据,至此,完成对原始窗口属性数据进行修改。
本实施例中,通过在原始窗口属性数据的参数列表中增加标志参数,并将安全标志数据设置为标记参数的参数值,得到目标窗口属性数据。实现对应用程序的安装包的防截屏加固处理,提升了操作系统中应用防截屏加固的质量。
在一个实施例中,如图3a所示,在步骤S140中,根据目标窗口属性数据显示目标界面,包括:
S310、将目标窗口属性数据发送至窗口管理服务。
S320、通过窗口管理服务,根据目标窗口属性数据将至少一个视图显示在目标界面中。
其中,目标窗口属性数据包括至少一个视图。窗口管理服务主要用来管理窗口的一些状态、属性、视图添加、视图删除、视图更新、窗口顺序、消息收集和处理等。具体地,由于拦截了原始窗口属性数据的传输,因此,在对原始窗口属性数据修改得到目标窗口属性数据之后,为了保证目标界面的显示,需要将目标窗口属性数据进行传输,则将目标窗口属性数据发送至窗口管理服务。目标窗口属性数据包括至少一个视图,且窗口管理服务可以用于进行视图添加,则通过窗口管理服务,根据目标窗口属性数据将至少一个视图比如按照图层顺序显示在目标界面中。
示例性地,窗口管理服务调用视图(View)添加实现界面显示。如图3b所示,视图的添加过程需要窗口管理对象WindowManager的视图添加addView()方法来实现,添加完毕之后最终通过一系列操作将界面显示到终端屏幕中。
本实施例中,通过将目标窗口属性数据发送至窗口管理服务,并通过窗口管理服务,根据目标窗口属性数据将至少一个视图显示在目标界面中,确保终端正常显示目标界面,且目标界面处于不允许截屏的安装状态,避免用户信息的泄露。
在一个实施例中,如图4所示,在监听目标界面的目标方法是否被调用之前,该方法还包括:S410、基于钩子机制拦截对窗口管理对象的调用。
其中,窗口管理对象用于添加目标界面所需要的各视图至窗口中并生成目标界面。钩子机制可以理解为在事件传送的过程中截获并监控事件的传输,将自身的代码与系统方法进行融入。具体地,为了在安装包的基础上,对所有窗口的安全性进行加固升级,基于钩子机制HOOK对窗口管理对象进行拦截,因此,通过对窗口管理对象WindowsManager的全局监听,拦截显示界面的一些目标方法,进而修改目标方法所携带的具体参数以实现防截屏。
在一个实施例中,如图5所示,在步骤S410中,基于钩子机制拦截对窗口管理对象的调用,包括以下步骤:
S510、在添加视图的过程中,通过窗口管理对象调用视图添加方法,并调用视图属性设置方法。
S520、基于钩子机制,拦截视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送原始窗口属性数据。
其中,窗口的管理服务WindowManagerService与本地的服务进程进行通信。WindowManagerService简称WMS,是由系统服务SystemServer启动的,且用于管理与窗口相关的服务。具体地,在添加视图(View)的过程中,主要的操作是由WindowManagerGlobal来完成的,WindowManagerGlobal是窗口管理对象WindowManager的具体实现,主要通过其内部方法视图添加方法addView完成视图的添加工作,addView内部继续调用视图属性设置方法setView。为了拦截利用原始窗口属性数据显示目标界面,基于钩子机制HOOK,拦截视图属性设置方法setView调用窗口通信对象,从而拦截向窗口管理服务发送原始窗口属性数据。比如,拦截setView方法内部调用IWindowSession(WindowManagerGlobal的一个实例)的通信对象mWindowSession,进而通过拦截窗口显示方法addToDisplay将原始窗口属性数据传给远程WindowManagerService。
在一个实施例中,通过窗口管理对象调用视图添加方法,并调用视图属性设置方法,包括:通过窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
其中,窗口视图连接纽带ViewRootImpl连接着窗口Window和视图View,通过窗口视图连接纽带ViewRootImpl可以完成view的绘制等操作。具体地,通过窗口管理对象WindowManager调用视图添加方法addView,addView内部通过窗口视图连接纽带ViewRootImpl继续调用视图属性设置方法,从而将窗口和视图连接起来,进而在窗口中进行视图的绘制。
在一个实施例中,拦截视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送原始窗口属性数据,包括:拦截视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送原始窗口属性数据。
其中,窗口通信对象mWindowSession的类型是接口类IWindowSession,mWindowSession是一个Binder对象。具体地,本实施例中的防截屏解决方案主要是完成了对接口IWindowSession的拦截,进行实现对Binder通信的HOOK,同时对若干目标方法包括视图添加方法addview、窗口显示方法addToDisplay等函数进行拦截。获取这些方法中的WindowManager.LayoutParams参数,WindowManager.LayoutParams是窗口管理对象WindowManager的静态内部类,用来管理Window的参数,对应有参数列表,因此同时修改参数列表(增加FLag参数),增加安全标志数据(FLAG_SECURE值)。最终,实现了全局的防截屏功能。
在一个实施例中,如图6a所示,本申请公开一种防截屏方法,该方法包括以下步骤:
S602、在添加视图的过程中,通过窗口管理对象调用视图添加方法,并调用视图属性设置方法;
具体地,通过窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
S604、基于钩子机制,拦截视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送原始窗口属性数据。
其中,mWindowSession的类型是IWindowSession,也就是一个接口类,mWindowSession是一个binder对象。具体地,如图6b所示,拦截视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送原始窗口属性数据。
S606、监听目标界面的目标方法是否被调用,目标方法是用于设置窗口属性以显示目标界面的方法;
S608、若监听到目标方法,则获取目标方法中的原始窗口属性数据;
S610、在原始窗口属性数据的参数列表中增加标志参数;
S612、将安全标志数据设置为标记参数的参数值,得到目标窗口属性数据。
S614、将目标窗口属性数据发送至窗口管理服务,目标窗口属性数据包括至少一个视图;
S616、通过窗口管理服务,根据目标窗口属性数据将至少一个视图显示在目标界面中。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种防截屏装置,包括:方法监听模块710、数据获取模块720、数据修改模块730和界面显示模块740,其中:
方法监听模块710,用于监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;
数据获取模块720,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;
数据修改模块730,用于根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;
界面显示模块740,用于根据所述目标窗口属性数据显示所述目标界面。
在一个实施例中,所述目标数据为安全标志数据;数据修改模块730,还用于在所述原始窗口属性数据的参数列表中增加标志参数;将所述安全标志数据设置为所述标记参数的参数值,得到所述目标窗口属性数据。
在一个实施例中,界面显示模块740,还用于将所述目标窗口属性数据发送至窗口管理服务,所述目标窗口属性数据包括至少一个视图;通过所述窗口管理服务,根据所述目标窗口属性数据将所述至少一个视图显示在所述目标界面中。
在一个实施例中,该装置还包括窗口对象调用模块,用于基于钩子机制拦截对窗口管理对象的调用;所述窗口管理对象用于添加所述目标界面所需要的各视图至窗口中并生成所述目标界面。
在一个实施例中,窗口对象调用模块,还用于在添加视图的过程中,通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法;基于所述钩子机制,拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据。
在一个实施例中,窗口对象调用模块,还用于通过所述窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
在一个实施例中,窗口对象调用模块,还用于拦截所述视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送所述原始窗口属性数据。
关于防截屏装置的具体限定可以参见上文中对于防截屏方法的限定,在此不再赘述。上述防截屏装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种防截屏方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;根据所述目标窗口属性数据显示所述目标界面。
在一个实施例中,所述目标数据为安全标志数据;处理器执行计算机程序时还实现以下步骤:在所述原始窗口属性数据的参数列表中增加标志参数;将所述安全标志数据设置为所述标记参数的参数值,得到所述目标窗口属性数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将所述目标窗口属性数据发送至窗口管理服务,所述目标窗口属性数据包括至少一个视图;通过所述窗口管理服务,根据所述目标窗口属性数据将所述至少一个视图显示在所述目标界面中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于钩子机制拦截对窗口管理对象的调用;所述窗口管理对象用于添加所述目标界面所需要的各视图至窗口中并生成所述目标界面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在添加视图的过程中,通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法;基于所述钩子机制,拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过所述窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
拦截所述视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送所述原始窗口属性数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时还实现以下步骤:
监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;根据所述目标窗口属性数据显示所述目标界面。
在一个实施例中,所述目标数据为安全标志数据;计算机程序被处理器执行时还实现以下步骤:在所述原始窗口属性数据的参数列表中增加标志参数;将所述安全标志数据设置为所述标记参数的参数值,得到所述目标窗口属性数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将所述目标窗口属性数据发送至窗口管理服务,所述目标窗口属性数据包括至少一个视图;通过所述窗口管理服务,根据所述目标窗口属性数据将所述至少一个视图显示在所述目标界面中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于钩子机制拦截对窗口管理对象的调用;所述窗口管理对象用于添加所述目标界面所需要的各视图至窗口中并生成所述目标界面。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在添加视图的过程中,通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法;基于所述钩子机制,拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过所述窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
拦截所述视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送所述原始窗口属性数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种防截屏方法,其特征在于,所述方法包括:
监听目标界面的目标方法是否被调用;所述目标方法是用于设置窗口属性以显示所述目标界面的方法;
若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;
根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;
根据所述目标窗口属性数据显示所述目标界面。
2.根据权利要求1所述的方法,其特征在于,所述目标数据为安全标志数据;所述通过目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,包括:
在所述原始窗口属性数据的参数列表中增加标志参数;
将所述安全标志数据设置为所述标记参数的参数值,得到所述目标窗口属性数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标窗口属性数据显示所述目标界面,包括:
将所述目标窗口属性数据发送至窗口管理服务;所述目标窗口属性数据包括至少一个视图;
通过所述窗口管理服务,根据所述目标窗口属性数据将所述至少一个视图显示在所述目标界面中。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述监听目标界面的目标方法是否被调用之前,所述方法还包括:
基于钩子机制拦截对窗口管理对象的调用;所述窗口管理对象用于添加所述目标界面所需要的各视图至窗口中并生成所述目标界面。
5.根据权利要求4所述的方法,其特征在于,所述基于钩子机制拦截对窗口管理对象的调用,包括:
在添加视图的过程中,通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法;
基于所述钩子机制,拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据。
6.根据权利要求5所述的方法,其特征在于,所述通过所述窗口管理对象调用视图添加方法,并调用视图属性设置方法,包括:
通过所述窗口管理对象调用视图添加方法,通过窗口视图连接纽带ViewRootImpl调用视图属性设置方法以在窗口中进行视图的绘制。
7.根据权利要求5所述的方法,其特征在于,所述拦截所述视图属性设置方法调用窗口通信对象,以拦截向窗口管理服务发送所述原始窗口属性数据,包括:
拦截所述视图属性设置方法通过接口IWindowSession调用窗口通信对象mWindowSession,以拦截窗口显示方法addToDisplay向窗口管理服务发送所述原始窗口属性数据。
8.一种防截屏装置,其特征在于,所述装置包括:
方法监听模块,用于监听目标界面的目标方法是否被调用,所述目标方法是用于设置窗口属性以显示所述目标界面的方法;
数据获取模块,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;
数据修改模块,用于根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据,所述目标数据用于将所述目标界面设置为禁止截屏的界面;
界面显示模块,用于根据所述目标窗口属性数据显示所述目标界面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348616.XA CN112417533A (zh) | 2020-11-26 | 2020-11-26 | 防截屏方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348616.XA CN112417533A (zh) | 2020-11-26 | 2020-11-26 | 防截屏方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417533A true CN112417533A (zh) | 2021-02-26 |
Family
ID=74843613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011348616.XA Pending CN112417533A (zh) | 2020-11-26 | 2020-11-26 | 防截屏方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417533A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632644A (zh) * | 2020-12-18 | 2021-04-09 | 深圳市安络科技有限公司 | 一种基于安卓系统的app防截屏方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8844059B1 (en) * | 2011-02-15 | 2014-09-23 | Symantec Corporation | Method and apparatus for preventing data loss through screen capture |
CN104077539A (zh) * | 2014-07-09 | 2014-10-01 | 肖龙旭 | 一种基于程序窗口的防截屏方法 |
US20140359766A1 (en) * | 2013-05-30 | 2014-12-04 | Trusteer Ltd. | Method and system for prevention of windowless screen capture |
CN105678181A (zh) * | 2015-12-28 | 2016-06-15 | 上海爱数信息技术股份有限公司 | 一种基于浏览器事件的防止截屏装置及方法 |
CN106201468A (zh) * | 2016-06-28 | 2016-12-07 | 北京金山安全软件有限公司 | 一种截屏的处理方法、装置及电子设备 |
CN108519899A (zh) * | 2018-03-23 | 2018-09-11 | 深信服科技股份有限公司 | 一种虚拟桌面防截屏方法、系统及相关装置 |
CN109040419A (zh) * | 2018-06-11 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 录屏方法、装置、移动终端及存储介质 |
-
2020
- 2020-11-26 CN CN202011348616.XA patent/CN112417533A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8844059B1 (en) * | 2011-02-15 | 2014-09-23 | Symantec Corporation | Method and apparatus for preventing data loss through screen capture |
US20140359766A1 (en) * | 2013-05-30 | 2014-12-04 | Trusteer Ltd. | Method and system for prevention of windowless screen capture |
CN104077539A (zh) * | 2014-07-09 | 2014-10-01 | 肖龙旭 | 一种基于程序窗口的防截屏方法 |
CN105678181A (zh) * | 2015-12-28 | 2016-06-15 | 上海爱数信息技术股份有限公司 | 一种基于浏览器事件的防止截屏装置及方法 |
CN106201468A (zh) * | 2016-06-28 | 2016-12-07 | 北京金山安全软件有限公司 | 一种截屏的处理方法、装置及电子设备 |
CN108519899A (zh) * | 2018-03-23 | 2018-09-11 | 深信服科技股份有限公司 | 一种虚拟桌面防截屏方法、系统及相关装置 |
CN109040419A (zh) * | 2018-06-11 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 录屏方法、装置、移动终端及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632644A (zh) * | 2020-12-18 | 2021-04-09 | 深圳市安络科技有限公司 | 一种基于安卓系统的app防截屏方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190354690A1 (en) | Systems, devices and methods for application and privacy compliance monitoring and security threat analysis processing | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
EP1512057B1 (en) | Trusted user interface for a secure mobile wireless device | |
DE112012001389T5 (de) | Sichere Ausführung einer ungesicherten App auf einem Gerät | |
EP3203406A1 (en) | Sensitive information security protection method and device | |
CN106326735B (zh) | 防注入的方法和装置 | |
CN112417484A (zh) | 资源文件保护方法、装置、计算机设备和存储介质 | |
CN114650154B (zh) | 网页权限行为控制方法、装置、计算机设备和存储介质 | |
CN112307528A (zh) | 电子文档的安全处理方法及装置 | |
CN110704131B (zh) | 一种html5应用调用原生应用的方法和装置 | |
CN106293821B (zh) | 获取及传输应用程序数据、运行应用程序的方法及装置 | |
US10761863B2 (en) | Mobile application management by run-time insertion of a replacement instrumentation object into a mobile application process | |
CN112417533A (zh) | 防截屏方法、装置、计算机设备和存储介质 | |
CN105447384B (zh) | 一种反监控的方法、系统及移动终端 | |
CN107766068B (zh) | 应用系统补丁安装方法、装置、计算机设备和存储介质 | |
CN112416622A (zh) | 剪切板数据保护方法、装置、计算机设备和存储介质 | |
CN112835639A (zh) | 一种Hook实现方法、装置、设备、介质及产品 | |
CN105512552A (zh) | 参数检测方法及装置 | |
CN108628620B (zh) | Pos应用开发的实现方法、装置、计算机设备和存储介质 | |
KR101266254B1 (ko) | 휴대단말의 보안관리 시스템 및 보안관리 방법 | |
CN112543194B (zh) | 移动终端登录方法、装置、计算机设备和存储介质 | |
CN113987506A (zh) | 认证系统的测试方法、装置、测试设备和存储介质 | |
CN106648671A (zh) | 一种应用升级方法及终端 | |
CN112835677A (zh) | 一种基于沙盒的固有数据保护方法及系统 | |
CN112860355A (zh) | 应用程序运行、发布方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |