CN107229844B - 检测swf文件调用者的方法、装置、服务端及客户端 - Google Patents
检测swf文件调用者的方法、装置、服务端及客户端 Download PDFInfo
- Publication number
- CN107229844B CN107229844B CN201710401171.9A CN201710401171A CN107229844B CN 107229844 B CN107229844 B CN 107229844B CN 201710401171 A CN201710401171 A CN 201710401171A CN 107229844 B CN107229844 B CN 107229844B
- Authority
- CN
- China
- Prior art keywords
- file
- swf
- client
- swf file
- swc
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000006870 function Effects 0.000 claims description 75
- 238000001514 detection method Methods 0.000 claims description 72
- 230000007613 environmental effect Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 26
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
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]
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及信息处理技术领域,提供一种检测SWF文件调用者的方法、装置、服务端及客户端,服务端将SWC库文件加入SWF文件中,客户端从服务端获取SWF文件,当SWF文件被客户端的应用程序运行时,客户端通过SWC库文件来获取SWF文件的运行环境信息,并将运行环境信息发送至服务端,服务端根据运行环境信息就能检测SWF文件的调用者。因此,当SWF文件被客户端的应用程序非法调用时,服务端可以第一时间获知,从而采取相应的措施,另外,通过将获取SWF运行环境信息的SWC文件加入SWF文件,提高了SWF文件被反编译的难度,从而能够有效避免现有技术中SWF文件被反编译的问题。
Description
技术领域
本发明涉及信息处理技术领域,具体而言,涉及一种检测SWF文件调用者的方法、装置、服务端及客户端。
背景技术
目前,Flash被广泛的用于网页设计和网页动画制作及网页视频播放等。大多数的视频网站包括直播网站都采用Flash作为其视频播放器,并且大多数的网页游戏也会使用Flash来开发,Flash的开发是使用ActionScript脚本语言来开发。由于其脚本语言的特性,导致其非常容易被反编译,从而可以从最终发布的SWF文件(Flash的执行文件)中反编译查看其源码,并寻找其各个功能接口及接口的使用方法。同时由于Flash具有反射机制的原理,从而可以从最终发布的SWF文件中获取到SWF文件的所有接口,通过反射机制可以调用其接口功能,第三方程序则可以直接使用该SWF的功能,从而使得Flash极其不安全。
发明内容
本发明的目的在于提供一种检测SWF文件调用者的方法、装置、服务端及客户端,用以改善上述问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供了一种检测SWF文件调用者的方法,应用于服务端以及与服务端通信连接的客户端。所述方法包括:服务端获取SWC库文件,并将SWC库文件加入SWF文件中;服务端基于客户端的文件获取请求,将SWF文件发送至客户端;客户端获取SWF文件,当SWF文件被客户端的应用程序运行时,客户端通过SWC库文件来获取SWF文件的运行环境信息;客户端将运行环境信息发送至服务端;服务端获取运行环境信息,并根据运行环境信息检测SWF文件的调用者。
第二方面,本发明提供了一种检测SWF文件调用者的方法,应用于与客户端通信连接的服务端。所述方法包括:获取SWC库文件,并将SWC库文件加入SWF文件中;基于客户端的文件获取请求,将SWF文件发送至客户端;获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取;根据运行环境信息检测SWF文件的调用者。
第三方面,本发明提供了一种检测SWF文件调用者的方法,应用于与服务端通信连接的客户端。所述方法包括:基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息;将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。
第四方面,本发明提供了一种检测SWF文件调用者的装置,应用于与客户端通信连接的服务端。所述装置包括SWC库文件获取模块、发送模块、第一执行模块及调用者检测模块。其中,SWC库文件获取模块用于获取SWC库文件,并将SWC库文件加入SWF文件中;发送模块用于基于客户端的文件获取请求,将SWF文件发送至客户端;第一执行模块用于获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取;调用者检测模块用于根据运行环境信息检测SWF文件的调用者。
第五方面,本发明提供了一种检测SWF文件调用者的装置,应用于与服务端通信连接的客户端。所述装置包括SWF文件获取模块、第二执行模块、运行环境信息发送模块。其中,SWF文件获取模块用于基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;第二执行模块用于当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息;运行环境信息发送模块用于将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。
第六方面,本发明提供了一种服务端,所述服务端与客户端通信连接,其包括第一存储器、第一处理器、以及检测SWF文件调用者的装置,所述检测SWF文件调用者的装置安装于所述第一存储器中并包括一个或多个由所述第一处理器执行的软件功能模组。所述检测SWF文件调用者的装置包括SWC库文件获取模块、发送模块、第一执行模块及调用者检测模块。其中,SWC库文件获取模块用于获取SWC库文件,并将SWC库文件加入SWF文件中;发送模块用于基于客户端的文件获取请求,将SWF文件发送至客户端;第一执行模块用于获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取;调用者检测模块用于根据运行环境信息检测SWF文件的调用者。
第七方面,本发明提供了一种客户端,所述客户端与服务端通信连接,其包括第二存储器、第二处理器、以及检测SWF文件调用者的装置,所述检测SWF文件调用者的装置安装于所述第二存储器中并包括一个或多个由所述第二处理器执行的软件功能模组。所述检测SWF文件调用者的装置包括SWF文件获取模块、第二执行模块、运行环境信息发送模块。其中,SWF文件获取模块用于基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;第二执行模块用于当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息;运行环境信息发送模块用于将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。
相对现有技术,本发明具有以下有益效果:本发明提供的一种检测SWF文件调用者的方法、装置、服务端及客户端,首先,服务端将SWC库文件加入SWF文件中,其次,客户端从服务端获取SWF文件,当SWF文件被客户端的应用程序运行时,客户端通过SWC库文件来获取SWF文件的运行环境信息,并将运行环境信息发送至服务端,服务端根据运行环境信息就能检测SWF文件的调用者。因此,当SWF文件被客户端的应用程序非法调用时,服务端可以第一时间获知,从而采取相应的措施,另外,通过将获取SWF运行环境信息的SWC文件加入SWF文件,提高了SWF文件被反编译的难度,从而能够有效避免现有技术中SWF文件被反编译的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的服务端与客户端进行交互的示意图。
图2示出了本发明实施例提供的客户端的方框示意图。
图3示出了本发明实施例提供的服务端的方框示意图。
图4示出了本发明第一实施例提供的检测SWF文件调用者的方法的流程图。
图5为图4示出的步骤S105的子步骤流程图。
图6示出了本发明第二实施例提供的检测SWF文件调用者的方法的流程图。
图7为图6示出的步骤S202的子步骤流程图。
图8示出了本发明第三实施例提供的检测SWF文件调用者的方法的流程图。
图9示出了本发明第四实施例提供的第一检测装置的方框示意图。
图10为图9示出的第一检测装置中调用者检测模块的方框示意图。
图11示出了本发明第四实施例提供的第二检测装置的方框示意图。
图12为图11示出的第二检测装置中运行环境信息发送模块的方框示意图。
图13示出了本发明第五实施例提供的检测SWF文件调用者的系统的方框示意图。
图标:100-服务端;110-第一检测装置;111-接口函数加入模块;112-SWC库文件获取模块;113-发送模块;114-第一执行模块;115-调用者检测模块;1151-判断单元;1152-第一子执行单元;1153-第二子执行单元;120-第一存储器;130-第一处理器;140-第一通信单元;200-客户端;210-第二检测装置;211-SWF文件获取模块;212-第二执行模块;2121-域名信息获取单元;2122-URL信息获取单元;213-运行环境信息发送模块;220-第二存储器;230-存储控制器;240-第二处理器;250-外设接口;260-第二通信单元;270-射频单元;300-网络;400-本地应用程序;500-检测SWF文件调用者的系统。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的服务端100与至少一个客户端200进行交互的示意图。服务端100可通过网络300与客户端200进行通信,以实现服务端100与客户端200之间的数据通信或交互。服务端100可以提供至少一个适用于各种操作系统的本地应用程序400的安装包供客户端200下载。客户端200通过网络300访问服务端100后,可通过网络300从服务端100下载适用于该客户端200的操作系统的本地应用程序400的安装包,以将本地应用程序400安装到客户端200中。
在本发明实施例中,服务端100为web(网站)服务器。客户端200可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personaldigital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。客户端200的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统等。本地应用程序400可以是服务端100提供的任何可供客户端200自定义下载并安装的应用程序,优选地,本实施例中,本地应用程序400可为各种运行SWF文件的客户端200的本地程序。
请参照图2,图2是图1所示的服务端100的方框示意图。服务端100包括第一检测装置110、第一存储器120、第一处理器130和第一通信单元140。
第一存储器120、第一处理器130以及第一通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二检测装置210包括至少一个可以软件或固件(firmware)的形式存储于第一存储器120中或固化在所述服务端100的操作系统(operating system,OS)中的软件功能模块。第一处理器130用于执行第一存储器120中存储的可执行模块,例如第一检测装置110所包括的软件功能模块及计算机程序等。
其中,所述第一存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第一存储器120用于存储程序,第一处理器130在接收到执行指令后,执行所述程序。第一通信单元140用于通过网络300建立服务端100与客户端200之间的通信连接,并用于通过网络300收发数据。
请参照图3,图3是图1所述的客户端200的方框示意图。该客户端200包括第二检测装置210、第二存储器220、存储控制器230、第二处理器240、外设接口250、第二通信单元260以及射频单元270。
第二存储器220、存储控制器230、第二处理器240、外设接口250、射频单元270以及第二通信单元260各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二检测装置210包括至少一个可以软件或固件(firmware)的形式存储于所述第二存储器220中或固化在客户端200的操作系统(operating system,OS)中的软件功能模块。第二存储器220存储有客户端200从服务端100中下载并安装的本地应用程序400。第二处理器240用于执行第二存储器220中存储的可执行模块,例如第二检测装置210所包括的软件功能模块及计算机程序等。
其中,第二存储器220可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第二存储器220用于存储程序,第二处理器240在接收到执行指令后,执行所述程序。第二处理器240以及其他可能的组件对第二存储器220的访问可在存储控制器230的控制下进行。
第二处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。外设接口250将各种输入/输出装置(例如射频单元270)耦合至所述第二处理器240以及第二存储器220。在一些实施例中,外设接口250、第二处理器240以及存储控制器230可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频单元270用于接收以及发送无线电波信号(如电磁波),实现无线电波与电信号的相互转换,从而实现客户端200与网络300或者其他通信设备之间的无线通信。
第二通信单元260用于通过网络300与服务端100建立连接,从而实现服务端100与客户端200之间的通信连接。例如,该第二通信单元260可以利用射频单元270发送的射频信号连接到网络300,进而通过网络300与服务端100建立通信连接。
第一实施例
请参照图4,图4示出了本发明第一实施例提供的检测SWF文件调用者的方法的流程图。本实施例为服务端100所执行的检测SWF文件调用者的方法,包括以下步骤:
步骤S101,将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,接口函数为基于脚本语言的函数。
在本发明实施例中,SWF文件为Flash的执行文件,SWC库文件是使用Flash提供的机制编写的基于编译语言的文件,编译语言可以是,但不限于C语言和C++语言等,Flash提供这一机制的目的是为了考虑代码的复用性,同时为了更易于开发大型程序,SWC文件编写完成之后,Flash可以在其ActionScript脚本语言中来调用SWC库文件提供的功能函数,从而使得Flash可以使用C或者C++开发的功能代码。
在本发明实施例中,可以将获取SWF文件运行环境信息的接口函数加入SWC库文件中编写到SWC库文件中,同时通过设置接口供Flash调用,从而对于Flash具体调用的SWC库文件中的哪些函数、以及Flash具体获取了哪些信息进行了隐藏保护,接口函数可以为基于脚本语言(例如,ActionScript脚本语言)的函数。
作为一种实施方式,将获取SWF文件运行环境信息的接口函数加入SWC库文件中的方法可以是使用Flash提供的机制使用编译语言(例如,C语言)来编写一个SWC库文件,并在该SWC库文件中编写一个获取SWF文件运行环境信息的接口函数提供给Flash来调用。一种实现方法可以是,但不限于:首先,使用Flash提供的机制使用编译语言(例如,C语言)编写文件代码;其次,在该文件代码中编写供Flash调用的获取SWF文件运行环境信息的接口函数,这个过程可以通过int getSwfEnvironment(int*pInfo);语句实现,其中,getSwfEnvironment为获取SWF文件运行环境信息的接口函数,int*pInfo表示接口函数getSwfEnvironment会将获取的SWF文件运行环境信息写入到接口参数pInfo这个指针中,返回值int表示写入到pInfo指针中的内容的大小;最后,使用Flash提供的编译工具将文件代码编译成SWC库文件。在这一实现方法中,使用编译语言可以使SWC库文件不容易被反编译。
作为一种实施方式,使得接口函数具备获取SWF文件运行环境信息的功能的方法可以是,但不限于将获取SWF文件运行环境信息的脚本语言加入到接口函数中。SWF文件运行环境信息可以包括SWF文件的调用者的域名信息、以及SWF文件的URL信息。一种实现方法可以是:首先编写获取SWF文件运行环境信息的脚本语言,其次通过Flash提供的内联函数将该脚本语言包起来,从而告诉Flash的编译器,该段代码是使用的脚本语言来编写的。
作为一种实施方式,获取SWF文件的调用者的域名信息可以通过以下语句实现:
inline_as3(
"import flash.net.LocalConnection;\n"
"var localDomain:LocalConnection=new LocalConnection();\n"
"var myDomainName:String=localDomainLC.domain;\n"
"var stringptr:int=CModule.mallocString(myDomainName);\n"
"CModule.write32(%0,stringptr);\n"
::"r"(&pStrDomain));
其中,inline_as3为Flash的内联函数;"var localDomain:LocalConnection=new LocalConnection();\n"表示使用Flash提供的组件来创建一个域对象localDomain,LocalConnection是创建域对象localDomain的组件,通过调用该组件可以获取到域对象localDomain;"var myDomainName:String=localDomainLC.domain;\n"表示通过域对象localDomain来获取运行SWF文件的应用程序的域名信息myDomainNameData,pStrDomain是用于存储该域名信息的指针。
作为一种实施方式,获取SWF文件的URL信息可以通过以下语句实现:
inline_as3(
"import flash.display.Stage;\n"
"var weburl:String=CModule.rootSprite.stage.loaderInfo.url.toString();\n"
"var stringptr:int=CModule.mallocString(weburl);\n"
"CModule.write32(%0,stringptr);\n"
::"r"(&pStrURL));
其中,inline_as3为Flash的内联函数;"var weburl:String=CModule.rootSprite.stage.loaderInfo.url.toString();\n"表示通过使用SWF文件的舞台对象来获取SWF文件的URL信息,rootSprite为根对象,由于在SWF文件中用来被渲染的舞台对象都具有rootSprite根对象,因此该rootSprite根对象的URL信息就是SWF文件的URL信息,pStrURL是用于存储该URL信息的指针。
作为一种实施方式,获取到调用者的域名信息及SWF文件的URL信息之后,首先将调用者的域名信息及SWF文件的URL信息存入到接口参数pInfo中,可以通过以下语句实现:
*pInfo=malloc(strlen(pStrDomain)+strlen(pStrURL));
Memcpy(pInfo,pStrDomain,strlen(pStrDomain));
Memcpy(pInfo+strlen(pStrDomain),pStrURL,strlen(pStrURL));从而将调用者的域名信息及SWF文件的URL信息返回给此接口的调用者(例如Flash)。
步骤S102,获取SWC库文件,并将SWC库文件加入SWF文件中。
在本发明实施例中,SWC库文件编译完成之后,可以加入到SWF文件中,这样当SWF被客户端200的应用程序运行时,SWC库文件就可以获取SWF文件的运行环境信息。
步骤S103,基于客户端的文件获取请求,将SWF文件发送至客户端。
在本发明实施例中,客户端200的文件获取请求可以是,但不限于来自客户端200的调用者的获取请求,调用者包括外部应用程序和本地应用程序400的。外部应用程序可以是使用网页浏览器在互联网或企业内部网上操作的应用软件,例如,使用360浏览器、谷歌浏览器、IE浏览器等网页浏览器在网上操作的百度、优酷、斗鱼直播等应用软件。本地应用程序400可以是各种安装于客户端200的本地程序,例如百度网盘、暴风影音等安装于客户端200的各种APP(Application,应用)。
步骤S104,获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取。
在本发明实施例中,客户端200的应用程序从服务端100获取到SWF文件之后,当SWF文件被该应用程序运行时,SWC库文件会获取SWF文件的运行环境信息,之后客户端200会将该运行环境信息发送至服务端100。
步骤S105,根据运行环境信息检测SWF文件的调用者。
在本发明实施例中,由于客户端200上报的SWF文件的运行环境信息是加密的,因此,服务端100首先会对上报信息进行解密,从而获取到调用者的域名信息及SWF文件的URL信息。
作为一种实施方式,服务端100对上报信息进行解密可以通过data=AES.decrypt(Info,KEY);语句实现,其中,AES.decrypt则是AES解密算法的解密接口;其中参数info是客户端200上报的SWF文件的运行环境信息经加密的信息;参数KEY是客户端200加密时使用的KEY信息。
在本发明实施例中,可以根据运行环境信息检测SWF文件的调用者,如果调用者的域名信息及SWF文件的URL信息均是网络地址,则判定调用者是外部应用程序,如果调用者的域名信息及SWF文件的URL信息中任意一个不是网络地址,例如,参数myDomainNameData是“localhost”,或者SWF文件的URL信息是类似“C:\Users\Administrator\Desktop\**.swf”的磁盘存储路径信息,则判定调用者是本地应用程序400。
请参照图5,步骤S105可以包括以下子步骤:
子步骤S1051,判断调用者的域名信息及SWF文件的URL信息是否均为网络地址。
在本发明实施例中,如果调用者的域名信息及SWF文件的URL信息均为网络地址,则执行子步骤S1052,如果调用者的域名信息及SWF文件的URL信息中任意一个不是网络地址,则执行子步骤S1053。
子步骤S1052,判定调用者为客户端的外部应用程序。
子步骤S1053,判定调用者为安装于客户端的本地应用程序。
在本发明实施例中,首先,通过将获取SWF文件运行环境信息的接口函数加入SWC库文件中编写到SWC库文件中,同时通过设置接口供Flash调用,从而对于Flash具体调用的SWC库文件中的哪些函数、以及Flash具体获取了哪些信息进行了隐藏保护;其次,通过Flash提供的内联函数inline_as3将获取SWF文件运行环境信息的脚本语言包起来,加入到接口函数中,从而使得接口函数具备了获取SWF文件运行环境信息的功能,同时,由于SWC库文件是基于编译语言编写的文件,因此不容易被反编译。
第二实施例
请参照图6,图6示出了本发明第二实施例提供的检测SWF文件调用者的方法的流程图。本实施例为客户端200所执行的检测SWF文件调用者的方法,包括以下步骤:
步骤S201,基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件。
在本发明实施例中,SWF文件是外部应用程序的文件,因此,外部应用程序的获取请求是指通过网络300从服务端100调用包含有SWC库文件的SWF文件,而本地应用程序400的获取请求是指从服务端100非法下载包含有SWC库文件的SWF文件。
步骤S202,当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息。
在本发明实施例中,当客户端200的应用程序运行SWF文件时,SWC库文件就能获取SWF文件的运行环境信息,从而检测SWF的调用者。运行环境信息可以是,但不限于包括SWF的调用者的域名信息、以及SWF文件的URL(Uniform Resoure Locator,统一资源定位器)信息等。
请参照图7,步骤S202可以包括以下子步骤:
子步骤S2021,依据SWF文件的调用者是否有域名,确定调用者的域名信息。
在本发明实施例中,当SWF文件被外部应用程序运行时,也就是外部应用程序通过网络300从服务端100调用的SWF文件,SWC库文件获取的运行SWF文件的应用程序的域名必然是对应网站的域名,例如,当SWF文件通过浏览器被百度运行时,百度的网页调用Flash运行SWF文件,则Flash获取其的应用程序的域名是www.baidu.com;但是,当SWF文件是从服务端100非法下载的,且被本地应用程序400运行时,SWC库文件则无法获取到网站域名,因此,可以依据运行SWF文件的应用程序是否有域名,来确定运行SWF文件的应用程序的域名信息,当SWC库文件无法获取到网站域名时,可以设置运行SWF文件的应用程序的域名信息为一个固定的本地信息,例如localhost(本地主机)。
子步骤S2022,根据SWF文件加载的舞台对象获取SWF文件的URL信息,其中,SWF文件的运行环境信息包括调用者的域名信息及SWF文件的URL信息。
在本发明实施例中,URL信息可以是,但不限于根据SWF文件加载的舞台对象所确定的SWF文件的URL信息。由于在SWF文件中用来被渲染的舞台对象都具有rootSprite根对象,故该rootSprite根对象的URL信息就是SWF文件的URL信息。当SWF文件被外部应用程序运行时,rootSprite根对象的URL信息必然是该网站的域名及该网站运行的SWF文件的服务器路径信息,也就是该网站页面的URL信息,例如,http://zhidao.baidu.com/question/124891257.html。但是,当SWF文件被本地应用程序400运行时,SWC库文件则无法获取到rootSprite根对象的URL信息,因此,可以依据rootSprite根对象,来确定SWF文件的URL信息,当SWC库文件无法获取到当前页面的URL信息时,可以设置rootSprite根对象的本地磁盘路径信息作为SWF文件的URL信息,例如http://zhidao.baidu.com/question/124891257.html。
步骤S203,将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。
作为一种实施方式,可以在Flash中加载SWC库文件,并调用SWC库文件的接口函数来获取该接口函数获取的SWF文件的运行环境信息。可以通过以下方法实现:首先,通过Flash的脚本指令来导入该SWC库文件,可以通过import xx.CModule;语句实现;其次,分配一个指针变量ptrInfo调用该SWC库文件的接口函数getSwfEnvironment,可以通过varptrInfoLen:int=xx.getSwfEnvironment(ptrInfo);语句实现;再次,读取接口函数返回的接口参数pInfo指针,可以通过var infoData:int=CModule.read32(ptrInfo);语句实现;最后,读取接口函数获取的SWF文件的运行环境信息,可以通过var data:String=CModule.readString(infoData,ptrInfoLen);语句实现,其中,data变量用于存储SWF文件的运行环境信息,包括调用者的域名信息及SWF文件的URL信息。
作为另一种实施方式,可以在Flash的关键函数中调用SWC库文件的接口函数来获取SWF文件的运行环境信息,并将该信息进行加密后上报服务器。关键函数可以是Flash最开始执行或者初始化的函数,该接口函数必须是会被调用到的。
在本发明实施例中,当Flash获取到SWF文件的运行环境信息后,则会将所获取到的运行环境信息进行加密后上报到服务端100,服务端100会根据运行环境信息检测SWF文件的调用者。作为一种实施方式,可以通过Info=AES.encrypt(data,KEY);语句实现,其中,AES.encrypt是AES加密算法的加密接口;参数data是SWF文件的运行环境信息;KEY是加密使用的KEY信息;info数据是加密后上报到服务端100的数据。
在本发明实施例中,首先,SWF文件的运行环境信息包括调用者的域名信息、以及SWF文件的URL信息,并且二者是通过不同的技术手段获取的,这样可以防止数据被篡改,提高了获取的SWF文件的运行环境信息的安全性;另外,获取SWF文件的运行环境信息的SWC库文件是编译语言和脚本语言混合的文件,不容易被反编译,进一步保证了获取SWF文件的运行环境信息的安全性。
第三实施例
请参照图8,图8示出了本发明第三实施例提供的检测SWF文件调用者的方法的流程图。本实施例以服务端100与客户端200之间的交互为主描述本方法,本实施例的方法可以包括以下步骤:
步骤S301,服务端获取SWC库文件,并将SWC库文件加入SWF文件中。
步骤S302,服务端基于客户端的文件获取请求,将SWF文件发送至客户端。
步骤S303,客户端获取SWF文件,当SWF文件被客户端的应用程序运行时,客户端通过SWC库文件来获取SWF文件的运行环境信息。
步骤S304,客户端将运行环境信息发送至服务端。
步骤S305,服务端获取运行环境信息,并根据运行环境信息检测SWF文件的调用者。
在本发明实施例中,服务端100将SWC库文件加入SWF文件中,其次,客户端200从服务端100获取SWF文件,当SWF文件被客户端200的应用程序运行时,客户端200通过SWC库文件来获取SWF文件的运行环境信息,并将运行环境信息发送至服务端100,服务端100根据运行环境信息就能检测SWF文件的调用者。因此,当SWF文件被客户端200的应用程序非法调用时,服务端100可以第一时间获知,从而采取相应的措施,另外,通过将获取SWF运行环境信息的SWC文件加入SWF文件,提高了SWF文件被反编译的难度。
第四实施例
请参照图9,图9示出了本发明第四实施例提供的第一检测装置110的方框示意图。第一检测装置110应用于服务端100,其包括接口函数加入模块111、SWC库文件获取模块112、发送模块113、第一执行模块114及调用者检测模块115。
接口函数加入模块111,用于将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,接口函数为基于脚本语言的函数。
在本发明实施例中,接口函数加入模块111可以用于执行步骤S101。
SWC库文件获取模块112,用于获取SWC库文件,并将SWC库文件加入SWF文件中。
在本发明实施例中,SWC库文件获取模块112可以用于执行步骤S102。
发送模块113,用于基于客户端的文件获取请求,将SWF文件发送至客户端。
在本发明实施例中,发送模块113可以用于执行步骤S103。
第一执行模块114,用于获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取。
在本发明实施例中,第一执行模块114可以用于执行步骤S104。
调用者检测模块115,用于根据运行环境信息检测SWF文件的调用者。
在本发明实施例中,调用者检测模块115可以用于执行步骤S105。
请参照图10,图10为图9示出的第一检测装置110中调用者检测模块115的方框示意图。调用者检测模块115包括判断单元1151、第一子执行单元1152及第二子执行单元1153。
判断单元1151,用于判断调用者的域名信息及SWF文件的URL信息是否均为网络地址。
在本发明实施例中,判断单元1151可以用于执行子步骤S1051。
在本发明实施例中,如果判断单元1151的执行结果为“是”,则转第一子执行单元1152执行子步骤S1052,如果判断单元1151的执行结果为“否”,则转第二子执行单元1153执行子步骤S1053。
第一子执行单元1152,用于判定调用者为客户端的外部应用程序。
在本发明实施例中,第一子执行单元1152可以用于执行子步骤S1052。
第二子执行单元1153,用于判定调用者为安装于客户端的本地应用程序。
在本发明实施例中,第二子执行单元1153可以用于执行子步骤S1053。
请参照图11,图11示出了本发明第四实施例提供的第二检测装置210的方框示意图。第二检测装置210包括SWF文件获取模块211、第二执行模块212及运行环境信息发送模块213。
SWF文件获取模块211,用于基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件。
在本发明实施例中,SWF文件获取模块211可以用于执行步骤S201。
第二执行模块212,用于当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息。
在本发明实施例中,第二执行模块212可以用于执行步骤S202。
请参照图12,图12为图11示出的第二检测装置210中第二执行模块212的方框示意图。第二执行模块212包括域名信息获取单元2121及URL信息获取单元2122。
域名信息获取单元2121,用于依据SWF文件的调用者是否有域名,确定调用者的域名信息。
在本发明实施例中,域名信息获取单元2121可以用于执行步骤S2021。
URL信息获取单元2122,用于根据SWF文件加载的舞台对象获取SWF文件的URL信息,其中,SWF文件的运行环境信息包括调用者的域名信息及SWF文件的URL信息。
在本发明实施例中,URL信息获取单元2122可以用于执行步骤S2022。
运行环境信息发送模块213,用于将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。
在本发明实施例中,运行环境信息发送模块213可以用于执行步骤S203。
第五实施例
请参照图13,图13示出了本发明第五实施例提供的检测SWF文件调用者的系统500的方框示意图。检测SWF文件调用者的系统500包括服务端100、以及与服务端100通信连接的客户端200,其中:
服务端100用于获取SWC库文件,并将SWC库文件加入SWF文件中。
服务端100还用于基于客户端200的文件获取请求,将SWF文件发送至客户端200。
客户端200用于获取SWF文件,当SWF文件被客户端200的应用程序运行时,通过SWC库文件来获取SWF文件的运行环境信息。
客户端200还用于将运行环境信息发送至服务端100。
客户端200还用于获取运行环境信息,并根据运行环境信息检测SWF文件的调用者。
综上所述,本发明提供的一种检测SWF文件调用者的方法、装置、服务端及客户端,应用于服务端的方法包括:获取SWC库文件,并将SWC库文件加入SWF文件中;基于客户端的文件获取请求,将SWF文件发送至客户端;获取客户端发送的SWF文件的运行环境信息,其中,运行环境信息通过SWC库文件在SWF文件被客户端的应用程序运行时获取;根据运行环境信息检测SWF文件的调用者。应用于客户端的方法包括:基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;当SWF文件被客户端的应用程序运行时,SWC库文件获取SWF文件的运行环境信息;将运行环境信息发送至服务端,以使服务端根据运行环境信息检测SWF文件的调用者。当SWF文件被客户端的应用程序非法调用时,服务端可以第一时间获知,从而采取相应的措施,另外,通过将获取SWF运行环境信息的SWC文件加入SWF文件,提高了SWF文件被反编译的难度,从而能够有效避免现有技术中SWF文件被反编译的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种检测SWF文件调用者的方法,应用于服务端以及与所述服务端通信连接的客户端,其特征在于,所述方法包括:
所述服务端将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,所述接口函数为基于脚本语言的函数;
所述服务端获取所述SWC库文件,并将所述SWC库文件加入SWF文件中;
所述服务端基于客户端的文件获取请求,将所述SWF文件发送至客户端;
所述客户端获取所述SWF文件,当所述SWF文件被所述客户端的应用程序运行时,客户端通过所述SWC库文件来获取所述SWF文件的运行环境信息;
所述客户端将所述运行环境信息发送至服务端;
所述服务端获取所述运行环境信息,并根据所述运行环境信息检测所述SWF文件的调用者。
2.一种检测SWF文件调用者的方法,其特征在于,应用于与客户端通信连接的服务端,所述方法包括:
将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,所述接口函数为基于脚本语言的函数;
获取所述SWC库文件,并将所述SWC库文件加入SWF文件中;
基于客户端的文件获取请求,将所述SWF文件发送至客户端;
获取所述客户端发送的所述SWF文件的运行环境信息,其中,所述运行环境信息通过所述SWC库文件在所述SWF文件被所述客户端的应用程序运行时获取;
根据所述运行环境信息检测所述SWF文件的调用者。
3.如权利要求2所述的方法,其特征在于,所述SWC库文件为基于编译语言的文件。
4.如权利要求2所述的方法,其特征在于,所述运行环境信息包括所述调用者的域名信息及所述SWF文件的URL信息,所述根据所述运行环境信息检测所述SWF文件的调用者的步骤,包括:
当所述调用者的域名信息及所述SWF文件的URL信息均为网络地址时,判定所述调用者为客户端的外部应用程序;
当所述调用者的域名信息及所述SWF文件的URL信息中任意一个不是网络地址时,判定所述调用者为安装于客户端的本地应用程序。
5.一种检测SWF文件调用者的方法,其特征在于,应用于与服务端通信连接的客户端,所述方法包括:
基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;其中,所述SWC库文件包括获取SWF文件运行环境信息的接口函数;
当所述SWF文件被所述客户端的应用程序运行时,所述SWC库文件获取所述SWF文件的运行环境信息;
将所述运行环境信息发送至服务端,以使所述服务端根据所述运行环境信息检测所述SWF文件的调用者。
6.如权利要求5所述的方法,其特征在于,所述SWC库文件获取所述SWF文件的运行环境信息的步骤,包括:
依据所述SWF文件的调用者是否有域名,确定所述调用者的域名信息;
根据所述SWF文件加载的舞台对象获取所述SWF文件的URL信息,其中,所述SWF文件的运行环境信息包括所述调用者的域名信息及所述SWF文件的URL信息。
7.一种检测SWF文件调用者的装置,其特征在于,应用于与客户端通信连接的服务端,所述装置包括:
接口函数加入模块,用于将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,所述接口函数为基于脚本语言的函数;
SWC库文件获取模块,用于获取所述SWC库文件,并将所述SWC库文件加入SWF文件中;
发送模块,用于基于客户端的文件获取请求,将所述SWF文件发送至客户端;
第一执行模块,用于获取所述客户端发送的所述SWF文件的运行环境信息,其中,所述运行环境信息通过所述SWC库文件在所述SWF文件被所述客户端的应用程序运行时获取;
调用者检测模块,用于根据所述运行环境信息检测所述SWF文件的调用者。
8.一种检测SWF文件调用者的装置,其特征在于,应用于与服务端通信连接的客户端,所述装置包括:
SWF文件获取模块,用于基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;其中,所述SWC库文件包括获取SWF文件运行环境信息的接口函数;
第二执行模块,用于当所述SWF文件被所述客户端的应用程序运行时,所述SWC库文件获取所述SWF文件的运行环境信息;
运行环境信息发送模块,用于将所述运行环境信息发送至服务端,以使所述服务端根据所述运行环境信息检测所述SWF文件的调用者。
9.一种服务端,其特征在于,所述服务端与客户端通信连接,所述服务端包括:
第一存储器;
第一处理器;以及
检测SWF文件调用者的装置,所述检测SWF文件调用者的装置安装于所述第一存储器中并包括一个或多个由所述第一处理器执行的软件功能模组,其包括:
接口函数加入模块,用于将获取SWF文件运行环境信息的接口函数加入SWC库文件中,其中,所述接口函数为基于脚本语言的函数;
SWC库文件获取模块,用于获取所述SWC库文件,并将所述SWC库文件加入SWF文件中;
发送模块,用于基于客户端的文件获取请求,将所述SWF文件发送至客户端;
运行环境信息获取模块,用于获取所述客户端发送的所述SWF文件的运行环境信息,其中,所述运行环境信息通过所述SWC库文件在所述SWF文件被所述客户端的应用程序运行时获取;
调用者检测模块,用于根据所述运行环境信息检测所述SWF文件的调用者。
10.一种客户端,其特征在于,所述客户端与服务端通信连接,所述客户端包括:
第二存储器;
第二处理器;以及
检测SWF文件调用者的装置,所述检测SWF文件调用者的装置安装于所述第二存储器中并包括一个或多个由所述第二处理器执行的软件功能模组,其包括:
SWF文件获取模块,用于基于文件获取请求,从服务端获取包含有SWC库文件的SWF文件;其中,所述SWC库文件包括获取SWF文件运行环境信息的接口函数;
执行模块,用于当所述SWF文件被所述客户端的应用程序运行时,所述SWC库文件获取所述SWF文件的运行环境信息;
运行环境信息发送模块,用于将所述运行环境信息发送至服务端,以使所述服务端根据所述运行环境信息检测所述SWF文件的调用者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710401171.9A CN107229844B (zh) | 2017-05-31 | 2017-05-31 | 检测swf文件调用者的方法、装置、服务端及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710401171.9A CN107229844B (zh) | 2017-05-31 | 2017-05-31 | 检测swf文件调用者的方法、装置、服务端及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229844A CN107229844A (zh) | 2017-10-03 |
CN107229844B true CN107229844B (zh) | 2019-09-10 |
Family
ID=59934507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710401171.9A Active CN107229844B (zh) | 2017-05-31 | 2017-05-31 | 检测swf文件调用者的方法、装置、服务端及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229844B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268254B (zh) * | 2018-01-09 | 2022-03-22 | 武汉斗鱼网络科技有限公司 | 一种Flash文件功能库调用方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408917A (zh) * | 2008-10-22 | 2009-04-15 | 厦门市美亚柏科资讯科技有限公司 | 应用程序行为合法性检测方法及系统 |
US8813232B2 (en) * | 2010-03-04 | 2014-08-19 | Mcafee Inc. | Systems and methods for risk rating and pro-actively detecting malicious online ads |
CN106650355A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种保护函数调用的方法及装置 |
CN106650462A (zh) * | 2016-11-28 | 2017-05-10 | 北京奇虎科技有限公司 | 一种检测Flash漏洞利用的方法和装置 |
-
2017
- 2017-05-31 CN CN201710401171.9A patent/CN107229844B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408917A (zh) * | 2008-10-22 | 2009-04-15 | 厦门市美亚柏科资讯科技有限公司 | 应用程序行为合法性检测方法及系统 |
US8813232B2 (en) * | 2010-03-04 | 2014-08-19 | Mcafee Inc. | Systems and methods for risk rating and pro-actively detecting malicious online ads |
CN106650462A (zh) * | 2016-11-28 | 2017-05-10 | 北京奇虎科技有限公司 | 一种检测Flash漏洞利用的方法和装置 |
CN106650355A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种保护函数调用的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107229844A (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI598765B (zh) | Data protection methods and devices | |
Fereidooni et al. | Breaking fitness records without moving: Reverse engineering and spoofing fitbit | |
US10445507B2 (en) | Automated security testing for a mobile application or a backend server | |
Van Acker et al. | FlashOver: Automated discovery of cross-site scripting vulnerabilities in rich internet applications | |
CN111163095B (zh) | 网络攻击分析方法、网络攻击分析装置、计算设备和介质 | |
KR101542335B1 (ko) | 정보 흐름들을 캡쳐하기 위한 값들에서의 라벨들의 인코딩 | |
CN104317648B (zh) | 一种监测广告的方法和装置 | |
CN104424423B (zh) | 应用程序的权限确定方法和装置 | |
CN107908392A (zh) | 数据采集工具包定制方法、装置、终端和存储介质 | |
KR101190261B1 (ko) | 하이브리드 인터액션 클라이언트 허니팟 시스템 및 그 운용방법 | |
US11444970B2 (en) | Dynamic security test system | |
US11595436B2 (en) | Rule-based dynamic security test system | |
CN113342639A (zh) | 小程序安全风险评估方法和电子设备 | |
CN107229844B (zh) | 检测swf文件调用者的方法、装置、服务端及客户端 | |
CN108985013A (zh) | 检测swf文件被第三方应用程序使用的方法、装置、客户端及服务端 | |
CN110032832B (zh) | 一种Web应用程序的处理方法及装置 | |
CN113114681A (zh) | 测试报文处理方法、装置、计算机系统及可读存储介质 | |
EP3619890B1 (en) | Systems and methods for distinguishing among human users and software robots | |
CN111651766A (zh) | 越权访问的测试方法及装置 | |
Espada et al. | Mobile web-based system for remote-controlled electronic devices and smart objects | |
Tsiakos et al. | Andropatchapp: taming rogue ads in android | |
CN114285815B (zh) | 应用跳转方法和应用跳转装置 | |
JP2018005915A (ja) | アプリケーションパッケージを提供する方法およびシステム、アプリケーションを実行する方法およびシステム | |
Jagdale et al. | Issues of cryptographic performance in resource-constrained devices: an experimental study | |
CN110032866B (zh) | 一种Web应用程序的处理方法及装置 |
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 |