CN112069468A - 一种页面动态水印的方法及设备 - Google Patents
一种页面动态水印的方法及设备 Download PDFInfo
- Publication number
- CN112069468A CN112069468A CN202010871387.3A CN202010871387A CN112069468A CN 112069468 A CN112069468 A CN 112069468A CN 202010871387 A CN202010871387 A CN 202010871387A CN 112069468 A CN112069468 A CN 112069468A
- Authority
- CN
- China
- Prior art keywords
- interface
- application
- watermark
- proxy
- agent
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims abstract description 41
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 39
- 239000012634 fragment Substances 0.000 claims abstract description 16
- 238000011084 recovery Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 18
- 238000009434 installation Methods 0.000 claims description 10
- 238000012857 repacking Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000009517 secondary packaging Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003936 working memory 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
Abstract
本申请的目的是提供一种页面动态水印的方法及设备,本申请通过确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;根据所述原始对象及代理对象替换应用程序的接口代理;将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。从而可实现对于现成的应用程序增加水印功能以及对各种界面有条件的增加水印,提供了灵活动态水印添加技术,支持界面类型包括activity、fragment,满足了包括常用的word、pdf、excel,以及web等界面安全、认证保障的支持。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种页面动态水印的方法及设备。
背景技术
随着移动终端的不断发展与普及,移动终端已成为人们生活和工作的必要工具。利用手机app观看视频、阅读文档、浏览网站已经变成非常普通的事情。然而,对于一些敏感数据会经常出现泄漏、盗版的情况。针对这个问题,增加界面水印来保护数据成了一种常用手段。
当前,使用水印的方式一般分为静态水印和动态水印。其中,静态水印即将水印信息作为文档的一部分永久写入,这种水印信息无法后续更改。在安卓(Android)应用中,使用水印涉及到onCreate、addView接口以及活跃(Activity)界面、片段(Fragment)界面。动态水印即在文档打开的同时(一般在onCreate接口中),动态的将水印信息覆盖在文档界面之上,这种水印信息可灵活修改。对于动态水印,目前的实现方式主要是找到界面根布局,然后利用addView接口将自定义的水印视图增加到原有界面之上。
然而,多数情况下都是各自的app单独实现自己的水印功能。而且只限于活跃(Activity)界面增加的水印,在此情况下我们有了一些需求:
能否对于现成的应用程序增加水印功能,即对第三方apk支持自定义的水印;能否对各种界面有条件的增加水印,如不同的网页页面、各种片段(Fragment)界面等。
发明内容
本申请的一个目的是提供一种页面动态水印的方法及设备,解决现有技术中不能对于现成的应用程序增加水印功能以及不能对各种界面有条件的增加水印的问题。
根据本申请的一个方面,提供了一种页面动态水印的方法,该方法包括:
确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;
根据所述原始对象及代理对象替换应用程序的接口代理;
将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;
当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。
进一步地,确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象,包括:
使用当前应用的应用界面主线程获取应用界面的线程对象,从所述线程对象中获取被代理替换的原始对象;
创建替换所述原始对象的代理对象,其中,所述代理对象支持水印操作。
进一步地,根据所述原始对象及代理对象替换应用程序的接口代理,包括:
将所述线程对象中的被代理替换的原始对象替换为所述原始对象的代理对象,执行所述应用界面的恢复函数完成应用程序的接口代理的替换。
进一步地,将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序,包括:
解压终端设备上应用程序的原始安装包,得到解压包,从所述解压包中获取所述应用程序的入口类文件;
根据替换后的应用程序的接口代理的相关信息修改所述入口类文件的内容,进行重新打包以及重新签名,得到所述应用界面的新的接口执行程序。
进一步地,根据替换后的应用程序的接口代理的相关信息修改所述入口文件的内容,进行重新打包以及重新签名,包括:
将所述应用程序的名字属性修改为水印应用类,其中,所述水印应用类继承所述应用程序的原始属性并在入口类函数中实现接口代理初始化操作;
利用动态加载对象加载所述原始安装包中入口类文件;
删除所述解压包中的签名目录,将所述解压包中入口类文件替换为包含水印应用类编译生成的入口类文件,得到修改后的解压包;
压缩所述修改后的解压包的目录并进行重新签名。
进一步地,当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加之前,包括:
识别所述应用程序的当前界面类型,根据所述当前界面类型确定动态增加水印的节点。
进一步地,根据所述当前界面类型确定动态增加水印的节点,包括:
当所述当前界面类型包括活跃界面和片段界面时,根据界面匹配指定的类判断是否增加水印,若是,则确定动态增加水印的节点;
当所述当前界面类型为网页视图的地址界面时,则根据代理接口的加载地址匹配所述地址界面的地址,根据匹配结果判断是否增加水印,若是,则确定增加水印的节点。
进一步地,确定动态增加水印的节点,包括:
当所述当前界面类型为活跃界面时,选择所述接口代理接管恢复函数接口作为动态增加水印的节点;
当所述当前界面类型为片段界面时,选择所述接口代理接管视图加载接口作为动态增加水印的节点。
根据本申请又一个方面,还提供了一种页面动态水印的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;根据所述原始对象及代理对象替换应用程序的接口代理;将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。从而可实现对于现成的应用程序增加水印功能以及对各种界面有条件的增加水印,提供了灵活动态水印添加技术,支持界面类型包括activity、fragment,满足了包括常用的word、pdf、excel、web等界面安全、认证保障的支持。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种页面动态水印的方法流程示意图;
图2示出本申请一实施例中word文档机密文件增加水印效果示意图;
图3示出本申请一实施例中hook接口替换原理示意图;
图4示出本申请一实施例中重新打包安装包文件的示意图;
图5示出本申请一实施例中单例模式下的水印增加的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种页面动态水印的方法流程示意图,该方法包括:步骤S11~步骤S14,
在步骤S11中,确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;在此,应用界面包括活跃(activity)界面、片段(fragment)界面、网页(web)界面等,被代理替换表示通过接口代理实现对象的替换。确定被代理替换的原始对象以及替换该原始对象的代理对象,其中,代理对象可自定义。
在步骤S12中,根据所述原始对象及代理对象替换应用程序的接口代理;在此,应用程序的接口代理可为hook代理,代理对象为支持水印功能的对象,使用hook可以将恢复函数(onResume函数)接管,当该函数调用的时候,使用增加视图(addView)方式将自定义的水印界面增加到原视图之上,实现动态水印的支持;根据被代理替换的原始对象以及替换该原始对象的代理对象替换原始的hook代理,以成功实现支持水印功能的hook代理;需要说明的是,活动界面(Activity)被成功展示给用户前必须经过的状态恢复函数onResume,该恢复函数被执行的场景包括活动界面(Activity)第一次被创建前或被暂停隐藏后再次恢复前。
在步骤S13中,将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;在此,使用二次打包方式将替换后的应用程序的接口代理(新的hook代理)的相关信息进行重新打包,该相关信息包括hook相关代码,将相关代码加入到原始程序中进行重新打包,再签名,得到被重新打包的程序为应用界面的新的接口执行程序。
随后,在步骤S14中,当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。在此,当新的接口程序执行onResume方法时,便能动态增加水印。如图2所示,为word文档机密文件增加水印效果。通过本申请,可实现对于现成的应用程序增加水印功能以及对各种界面有条件的增加水印,提供了灵活动态水印添加技术,满足了包括常用的word、pdf,各种activity、fragment、web等界面安全、认证保障的支持。
在本申请一实施例中,在步骤S11中,使用当前应用的应用界面主线程获取应用界面的线程对象,从所述线程对象中获取被代理替换的原始对象;创建替换所述原始对象的代理对象,其中,所述代理对象支持水印操作。具体地,在步骤S12中,将所述线程对象中的被代理替换的原始对象替换为所述原始对象的代理对象,执行所述应用界面的恢复函数完成应用程序的接口代理的替换。在此,如图3所示,利用当前应用的应用界面主线程(ActivityThread.currentActivityThread)获取到应用界面的线程(ActivityThread)对象,创建代理对象InstrumentationProxy,实现增加水印功能的callActivityOnResume将ActivityThread对象中原始mInstrumentation对象替换为支持水印功能的InstrumentationProxy对象。这样当执行Activity中恢复函数(onResume)方法便成功hook了。其中,InstrumentationProxy为用来替换原始对象的自定义对象,该对象中可自定义Activity创建过程,包括界面创建、恢复onResume的具体实现;callActivityOnResume为自定义界面创建、恢复的具体实现过程,在该实现中利用addView方式增加水印界面到原始界面上;onResume方法为应用程序启动界面、恢复界面显示时代码的具体实现接口,可在该接口中增加水印添加,比如在界面被第一次打开或者恢复原来视图时,进行水印的动态增加。
在本申请一实施例中,在步骤S13中,解压终端设备上应用程序的原始安装包,得到解压包,从所述解压包中获取所述应用程序的入口类文件;根据替换后的应用程序的接口代理的相关信息修改所述入口类文件的内容,进行重新打包以及重新签名,得到所述应用界面的新的接口执行程序。在此,终端设备上应用程序的原始安装包比如安卓系统的应用程序的安装包,通常以.apk的文件后缀,为apk包;对原始安装包解压后,从解压包中获取应用程序的入口类文件,该入口类文件用于描述启动位置,从而根据替换后的hook相关信息修改该入口类文件的内容,进行二次打包并重新签名,得到新的接口执行程序;以安卓系统为例,程序安装包apk解压后,解压文件中包含AndroidManifest.xml文件的内容,该AndroidManifest.xml文件描述了启动位置,指定了入口类,具体内容包括android:name=WatermarkApplication,即表示程序从WatermarkApplication类的代码开始执行。
在本申请一实施例中,在步骤S13中,将所述应用程序的名字属性修改为水印应用类,其中,所述水印应用类继承所述应用程序的原始属性并在入口类函数中实现接口代理初始化操作;利用动态加载对象加载所述原始安装包中入口类文件;删除所述解压包中的签名目录,将所述解压包中入口类文件替换为包含水印应用类编译生成的入口类文件,得到修改后的解压包;压缩所述修改后的解压包的目录并进行重新签名。在此,程序入口默认类为Application,而只有继承该类,实现自定义WatermarkApplication,自定义类才能作为入口类来执行;如图4所示,编辑Application的name属性,改为android:name=WatermarkApplication,WatermarkApplication类继承Application,并在入口类函数(attachBaseContext方法)中实现hook初始化操作,然后利用loadClass加载原始apk中dex文件。删除解压包中的签名目录,替换解压包中dex文件为包含WatermarkApplication编译生成的dex文件。压缩apk目录,重新签名。最终实现拥有动态水印功能的apk文件。其中,attachBaseContext方法为入口类的第一个执行函数,选择在该函数中实现hook的初始化操作,可保证程序完全启动前所有的hook流程都已经就绪;WatermarkApplication该入口类中包含了attachBaseContext接口的具体实现;通过动态加载类对象(loadClass)来动态加载原始指定的Application对象,进而执行原始流程。应用程序apk包解压后,其中包含dex文件,该文件为java代码编译压缩后的二进制文件,其中包含了原始入口类,先把dex文件动态加载到进程内存中,以实现动态loadClass加载原始入口类。
在本申请一实施例中,当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加之前,可以识别所述应用程序的当前界面类型,根据所述当前界面类型确定动态增加水印的节点。在此,对于动态水印增加,需要识别各种当前界面,同时选择合适的时机才能实现水印增加,其中,当前界面类型包括当前Activity、Fragment以及不同的web页面,比如webview中不同的地址(url)页面。
继续接上述实施例,当所述当前界面类型包括活跃界面和片段界面时,根据界面匹配指定的类判断是否增加水印,若是,则确定动态增加水印的节点;当所述当前界面类型为网页视图的地址界面时,则根据代理接口的加载地址匹配所述地址界面的地址,根据匹配结果判断是否增加水印,若是,则确定增加水印的节点。在此,并不是所有的应用界面都需要进行水印增加的,而是选择比较重要的界面进行水印保护。进行选择是否进行水印保护时,对于不同的Activity和Fragment,可以匹配指定的类进行判断是否增加水印;而对于webview中不同的地址(url)页面,需要hook接口loadurl来匹配url地址,进而判断是否需要增加水印。
继续接上述实施例,当所述当前界面类型为活跃界面时,选择所述接口代理接管恢复函数接口作为动态增加水印的节点;当所述当前界面类型为片段界面时,选择所述接口代理接管视图加载接口作为动态增加水印的节点。在此,当前界面为Activity类型的视图时,选择hook接管onResume接口作为增加水印的时机(即hook点为onResume);而对于当前界面为Fragment类型视图时,则选择hook接管视图加载(addView)接口作为增加水印的时机(即hook点为addView),hook接口addView确认的hook接口点,该接口点函数名为addView,成功hook后,在hook函数中调用addView的主动附加水印调用方法的方式增加水印附图。因为Fragment界面大多是通过addView动态加载的,而Activity的onResume是无法监测到Fragment界面增加的。
需要说明的是,同一个水印视图对象只能被addView到一个父视图上,在本申请实施例中,如图5所示,采用单例模式下的水印界面,根据不同的策略更换父视图来实现动态水印的增加和取消。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种页面动态水印的方法。
在本申请一实施例中,还提供了一种页面动态水印的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;
根据所述原始对象及代理对象替换应用程序的接口代理;
将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;
当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种页面动态水印的方法,其中,所述方法包括:
确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象;
根据所述原始对象及代理对象替换应用程序的接口代理;
将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序;
当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加。
2.根据权利要求1所述的方法,其中,确定应用界面的被代理替换的原始对象及替换所述原始对象的代理对象,包括:
使用当前应用的应用界面主线程获取应用界面的线程对象,从所述线程对象中获取被代理替换的原始对象;
创建替换所述原始对象的代理对象,其中,所述代理对象支持水印操作。
3.根据权利要求2所述的方法,其中,根据所述原始对象及代理对象替换应用程序的接口代理,包括:
将所述线程对象中的被代理替换的原始对象替换为所述原始对象的代理对象,执行所述应用界面的恢复函数完成应用程序的接口代理的替换。
4.根据权利要求1所述的方法,其中,将替换后的应用程序的接口代理的相关信息进行重新打包,得到所述应用界面的新的接口执行程序,包括:
解压终端设备上应用程序的原始安装包,得到解压包,从所述解压包中获取所述应用程序的入口类文件;
根据替换后的应用程序的接口代理的相关信息修改所述入口类文件的内容,进行重新打包以及重新签名,得到所述应用界面的新的接口执行程序。
5.根据权利要求4所述的方法,其中,根据替换后的应用程序的接口代理的相关信息修改所述入口文件的内容,进行重新打包以及重新签名,包括:
将所述应用程序的名字属性修改为水印应用类,其中,所述水印应用类继承所述应用程序的原始属性并在入口类函数中实现接口代理初始化操作;
利用动态加载对象加载所述原始安装包中入口类文件;
删除所述解压包中的签名目录,将所述解压包中入口类文件替换为包含水印应用类编译生成的入口类文件,得到修改后的解压包;
压缩所述修改后的解压包的目录并进行重新签名。
6.根据权利要求1所述的方法,其中,当所述新的接口执行程序调用所述应用界面的恢复函数时实现动态水印增加之前,包括:
识别所述应用程序的当前界面类型,根据所述当前界面类型确定动态增加水印的节点。
7.根据权利要求6所述的方法,其中,根据所述当前界面类型确定动态增加水印的节点,包括:
当所述当前界面类型包括活跃界面和片段界面时,根据界面匹配指定的类判断是否增加水印,若是,则确定动态增加水印的节点;
当所述当前界面类型为网页视图的地址界面时,则根据代理接口的加载地址匹配所述地址界面的地址,根据匹配结果判断是否增加水印,若是,则确定增加水印的节点。
8.根据权利要求7所述的方法,其中,确定动态增加水印的节点,包括:
当所述当前界面类型为活跃界面时,选择所述接口代理接管恢复函数接口作为动态增加水印的节点;
当所述当前界面类型为片段界面时,选择所述接口代理接管视图加载接口作为动态增加水印的节点。
9.一种页面动态水印的方法的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至8中任一项所述方法的操作。
10.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871387.3A CN112069468B (zh) | 2020-08-26 | 2020-08-26 | 一种页面动态水印的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871387.3A CN112069468B (zh) | 2020-08-26 | 2020-08-26 | 一种页面动态水印的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069468A true CN112069468A (zh) | 2020-12-11 |
CN112069468B CN112069468B (zh) | 2023-05-30 |
Family
ID=73660055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010871387.3A Active CN112069468B (zh) | 2020-08-26 | 2020-08-26 | 一种页面动态水印的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069468B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129199A (zh) * | 2021-05-10 | 2021-07-16 | 杭州天宽科技有限公司 | 基于Android平台的一种暗水印保护方法 |
CN113139163A (zh) * | 2021-04-15 | 2021-07-20 | 上海上讯信息技术股份有限公司 | 一种应用程序界面上水印信息生成的方法及设备 |
CN117556395A (zh) * | 2024-01-10 | 2024-02-13 | 北京天空卫士网络安全技术有限公司 | 一种系统应用水印生成方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654501B1 (en) * | 2000-03-06 | 2003-11-25 | Intel Corporation | Method of integrating a watermark into an image |
CN103532707A (zh) * | 2007-05-18 | 2014-01-22 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
US20150058623A1 (en) * | 2013-08-26 | 2015-02-26 | Nbcuniversal Media, Llc | Watermark access/control system and method |
CN106971098A (zh) * | 2016-10-11 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种防重打包的方法及其装置 |
CN110334487A (zh) * | 2019-06-12 | 2019-10-15 | 中国舰船研究设计中心 | 一种基于数字水印的虚拟机镜像版权保护方法 |
CN110874456A (zh) * | 2018-08-31 | 2020-03-10 | 浙江大学 | 水印嵌入和水印提取方法、装置及数据处理方法 |
CN110909320A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种网页水印防篡改的方法、装置、介质和电子设备 |
-
2020
- 2020-08-26 CN CN202010871387.3A patent/CN112069468B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654501B1 (en) * | 2000-03-06 | 2003-11-25 | Intel Corporation | Method of integrating a watermark into an image |
CN103532707A (zh) * | 2007-05-18 | 2014-01-22 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
US20150058623A1 (en) * | 2013-08-26 | 2015-02-26 | Nbcuniversal Media, Llc | Watermark access/control system and method |
CN106971098A (zh) * | 2016-10-11 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种防重打包的方法及其装置 |
CN110874456A (zh) * | 2018-08-31 | 2020-03-10 | 浙江大学 | 水印嵌入和水印提取方法、装置及数据处理方法 |
CN110334487A (zh) * | 2019-06-12 | 2019-10-15 | 中国舰船研究设计中心 | 一种基于数字水印的虚拟机镜像版权保护方法 |
CN110909320A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种网页水印防篡改的方法、装置、介质和电子设备 |
Non-Patent Citations (2)
Title |
---|
MOHAMMAD FARUKH HASHMI 等: "Platform independent Real Time copyright protection embedding and extraction algorithms on Android and Embedded framework", 《2014 IEEE INTERNATIONAL SYMPOSIUM ON SIGNAL PROCESSING AND INFORMATION TECHNOLOGY (ISSPIT)》 * |
胡忠彪: "基于数字水印和加密技术的移动DRM系统的研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139163A (zh) * | 2021-04-15 | 2021-07-20 | 上海上讯信息技术股份有限公司 | 一种应用程序界面上水印信息生成的方法及设备 |
CN113139163B (zh) * | 2021-04-15 | 2023-05-26 | 上海上讯信息技术股份有限公司 | 一种应用程序界面上水印信息生成的方法及设备 |
CN113129199A (zh) * | 2021-05-10 | 2021-07-16 | 杭州天宽科技有限公司 | 基于Android平台的一种暗水印保护方法 |
CN113129199B (zh) * | 2021-05-10 | 2023-03-07 | 杭州天宽科技有限公司 | 基于Android平台的一种暗水印保护方法 |
CN117556395A (zh) * | 2024-01-10 | 2024-02-13 | 北京天空卫士网络安全技术有限公司 | 一种系统应用水印生成方法及装置 |
CN117556395B (zh) * | 2024-01-10 | 2024-04-19 | 北京天空卫士网络安全技术有限公司 | 一种系统应用水印生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112069468B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112069468B (zh) | 一种页面动态水印的方法及设备 | |
CN108229112B (zh) | 一种保护应用程序、应用程序的运行方法以及装置 | |
CN109062582B (zh) | 一种应用安装包的加密方法及装置 | |
CN106295255B (zh) | 应用程序的加固方法和装置 | |
US20080216071A1 (en) | Software Protection | |
US20080270806A1 (en) | Execution Device | |
JP6816028B2 (ja) | テキスト隠蔽に基づいたページジャンプ | |
CN110347341B (zh) | 数据清除方法及控制设备 | |
RU2586872C2 (ru) | Удаление поврежденных стилей из документов расширяемого языка разметки | |
CN112667246A (zh) | 应用功能扩展的方法、装置及电子设备 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN112230947A (zh) | 一种操作系统的升级方法、升级系统 | |
US20180349102A1 (en) | Apparatus and method for converting large-scale application | |
CN111245814B (zh) | 一种数据审计方法、装置、电子设备及存储介质 | |
CN112905263A (zh) | 一种自定义组件的加载方法、装置、电子设备和存储介质 | |
CN111414308B (zh) | 应用程序包的处理方法和应用程序的运行方法、装置 | |
CN110825365B (zh) | 一种定制webview特性的方法、装置、设备和介质 | |
WO2020135129A1 (zh) | 加载应用的插件的方法、装置和终端 | |
US10579374B2 (en) | Method for converting application and computing device | |
Ahmad et al. | Comparative analysis of operating system of different smart phones | |
US10503929B2 (en) | Visually configurable privacy enforcement | |
CN114840822A (zh) | 代码保护方法、装置、设备及存储介质 | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN108133149B (zh) | 一种数据保护方法、装置及电子设备 | |
CN113220314A (zh) | App资源加载及apk生成方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |