检测SWF文件被第三方应用程序使用的方法、装置、客户端及服务端与流程

文档序号:16249741发布日期:2018-12-11 23:54阅读:248来源:国知局
检测SWF文件被第三方应用程序使用的方法、装置、客户端及服务端与流程

本发明涉及信息处理技术领域,具体而言,涉及一种检测swf文件被第三方应用程序使用的方法、装置、客户端及服务端。

背景技术

目前,flash被广泛的用于网页设计和网页动画制作及网页视频播放等。大多数的视频网站包括直播网站都采用flash作为其视频播放器,并且大多数的网页游戏也会使用flash来开发,flash的开发是使用actionscript脚本语言来开发。由于其脚本语言的特性,导致其非常容易被反编译,从而可以从最终发布的swf文件(flash的执行文件)中反编译查看其源码,并寻找其各个功能接口及接口的使用方法。同时由于flash具有发射机制的原理,从而可以从最终发布的swf文件中获取到swf文件的所有接口,通过发射机制则可以调用其接口功能,第三方应用程序则可以直接使用该swf的功能,从而使得flash极其不安全。



技术实现要素:

本发明的目的在于提供一种,用以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明提供了一种检测swf文件被第三方应用程序使用的方法,应用于与服务端通信连接的客户端,客户端安装有flash。所述方法包括:当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息;将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。

第二方面,本发明提供了一种检测swf文件被第三方应用程序使用的方法,应用于与客户端通信连接的服务端。所述方法包括:获取客户端发送的swf文件的运行地址信息;判断运行地址信息是否符合预设标准,若不符合,则判定swf文件被第三方应用程序使用。

第三方面,本发明提供了一种检测swf文件被第三方应用程序使用的装置,应用于与服务端通信连接的客户端,客户端安装有flash。所述装置包括第一执行模块和第二执行模块,其中,第一执行模块用于当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息;第二执行模块用于将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。

第四方面,本发明提供了一种检测swf文件被第三方应用程序使用的装置,应用于与客户端通信连接的服务端。所述装置包括第三执行模块和第四执行模块,其中,第三执行模块用于获取所述客户端发送的所述swf文件的运行地址信息;第四执行模块用于判断所述运行地址信息是否符合预设标准,若不符合,则判定所述swf文件被第三方应用程序使用。

第五方面,本发明提供了一种客户端,其安装有flash并与服务端通信连接。所述客户端包括第一存储器、第一处理器、以及检测swf文件被第三方应用程序使用的装置,所述检测swf文件被第三方应用程序使用的装置安装于所述第一存储器中并包括一个或多个由所述第一处理器执行的软件功能模组。所述检测swf文件被第三方应用程序使用的装置包括第一执行模块和第二执行模块,其中,第一执行模块用于当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息;第二执行模块用于将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。

第六方面,本发明提供了一种服务端,所述服务端与客户端通信连接,其包括第二存储器、第二处理器、以及检测swf文件被第三方应用程序使用的装置,所述检测swf文件被第三方应用程序使用的装置安装于所述第二存储器中并包括一个或多个由所述第二处理器执行的软件功能模组。所述检测swf文件被第三方应用程序使用的装置包括第三执行模块和第四执行模块,其中,第三执行模块用于获取所述客户端发送的所述swf文件的运行地址信息;第四执行模块用于判断所述运行地址信息是否符合预设标准,若不符合,则判定所述swf文件被第三方应用程序使用。

相对现有技术,本发明具有以下有益效果:本发明提供的一种检测swf文件被第三方应用程序使用的方法、装置、客户端及服务端,当swf文件被客户端的应用程序运行时,客户端通过flash获取swf文件的运行地址信息,并将运行地址信息发送到服务端,服务端根据运行地址信息,就能够判定swf文件是否被第三方应用程序使用,因此,当swf文件被第三方应用程序使用时,服务端可以第一时间获知,从而采取相应的措施,有效避免现有技术中swf文件被反编译的问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的服务端与客户端进行交互的示意图。

图2示出了本发明实施例提供的客户端的方框示意图。

图3示出了本发明实施例提供的服务端的方框示意图。

图4示出了本发明实施例提供的应用于客户端的检测swf文件被第三方应用程序使用的方法的流程图。

图5为图4示出的步骤s101的子步骤流程图。

图6为图5示出的子步骤s1011的子步骤流程图。

图7为图5示出的子步骤s1012的子步骤流程图。

图8示出了本发明实施例提供的应用于服务端的检测swf文件被第三方应用程序使用的方法的流程图。

图9示出了本发明实施例提供的第一检测装置的方框示意图。

图10为图9示出的第一检测装置中第一执行模块的方框示意图。

图11为图10示出的第一执行模块中域名信息获取单元的方框示意图。

图12为图10示出的第一执行模块中第一url地址获取单元的方框示意图。

图13示出了本发明实施例提供的第二检测装置的方框示意图。

图标:100-客户端;110-第一检测装置;111-第一执行模块;112-第二执行模块;1111-域名信息获取单元;11111-第一判断单元;11112-第一子执行单元;11113-第二子执行单元;1112-第一url地址获取单元;11121-第二判断单元;11122-第三子执行单元;11123-第四子执行单元;1113-第二url地址获取单元;120-第一存储器;130-存储控制器;140-第一处理器;150-外设接口;160-第一通信单元;170-射频单元;200-服务端;210-第二检测装置;211-第三执行模块;212-第四执行模块;220-第二存储器;230-第二处理器;240-第二通信单元;300-网络;400-第三方应用程序。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本发明实施例提供的服务端200与至少一个客户端100进行交互的示意图。服务端200可通过网络300与客户端100进行通信,以实现服务端200与客户端100之间的数据通信或交互。服务端200可以提供至少一个适用于各种操作系统的第三方应用程序400的安装包供客户端100下载。客户端100通过网络300访问服务端200后,可通过网络300从服务端200下载适用于该客户端100的操作系统的第三方应用程序400的安装包,以将第三方应用程序400安装到客户端100中。

在本发明实施例中,服务端200为web(网站)服务器。客户端100可以是,但不限于,智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。客户端100的操作系统可以是,但不限于,安卓(android)系统、ios(iphoneoperatingsystem)系统、windowsphone系统、windows系统等。第三方应用程序400可以是服务端200提供的任何可供客户端100自定义下载并安装的应用程序,优选地,本实施例中,第三方应用程序400可为各种运行swf文件的客户端100的本地程序。

请参照图2,图2是图1所述的客户端100的方框示意图。该客户端100包括第一检测装置110、第一存储器120、存储控制器130、第一处理器140、外设接口150、第一通信单元160以及射频单元170。

第一存储器120、存储控制器130、第一处理器140、外设接口150、射频单元170以及第一通信单元160各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第一检测装置110包括至少一个可以软件或固件(firmware)的形式存储于所述第一存储器120中或固化在客户端100的操作系统(operatingsystem,os)中的软件功能模块。第一存储器120存储有客户端100从服务端200中下载并安装的第三方应用程序400。第一处理器140用于执行第一存储器120中存储的可执行模块,例如第一检测装置110所包括的软件功能模块及计算机程序等。

其中,第一存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,第一存储器120用于存储程序,第一处理器140在接收到执行指令后,执行所述程序。第一处理器140以及其他可能的组件对第一存储器120的访问可在存储控制器130的控制下进行。

第一处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp))、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。外设接口150将各种输入/输出装置(例如射频单元170)耦合至所述第一处理器140以及第一存储器120。在一些实施例中,外设接口150,第一处理器140以及存储控制器130可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

射频单元170用于接收以及发送无线电波信号(如电磁波),实现无线电波与电信号的相互转换,从而实现客户端100与网络300或者其他通信设备之间的无线通信。

第一通信单元160用于通过网络300与服务端200建立连接,从而实现服务端200与客户端100之间的通信连接。例如,该第一通信单元160可以利用射频单元170发送的射频信号连接到网络300,进而通过网络300与服务端200建立通信连接。

请参照图3,图3是图1所示的服务端200的方框示意图。服务端200包括第二检测装置210、第二存储器220、第二处理器230和第二通信单元240。

第二存储器220、第二处理器230以及第二通信单元240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二检测装置210包括至少一个可以软件或固件(firmware)的形式存储于第二存储器220中或固化在所述服务端200的操作系统(operatingsystem,os)中的软件功能模块。第二处理器230用于执行第二存储器220中存储的可执行模块,例如第二检测装置210所包括的软件功能模块及计算机程序等。

其中,所述第二存储器220可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,第二存储器220用于存储程序,第二处理器230在接收到执行指令后,执行所述程序。第二通信单元240用于通过网络300建立服务端200与客户端100之间的通信连接,并用于通过网络300收发数据。

第一实施例

请参照图4,图4示出了本发明实施例提供的应用于客户端100的检测swf文件被第三方应用程序使用的方法的流程图。客户端100安装有flash,应用于客户端100的检测swf文件被第三方应用程序使用的方法包括以下步骤:

步骤s101,当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息。

在本发明实施例中,客户端100的应用程序包括网络应用程序和第三方应用程序400,网络应用程序可以是使用网页浏览器在互联网或企业内部网上操作的应用软件,例如,使用360浏览器、谷歌浏览器、ie浏览器等网页浏览器在网上操作的百度、优酷、斗鱼直播等应用软件,第三方应用程序400可以是各种安装于客户端100的本地程序,例如百度网盘、暴风影音等安装于客户端100的各种app(application,应用)。在本发明实施例中,swf文件是网络应用程序的文件,黑客如果直接获取swf文件,则会通过第三方应用程序400进行运行,而客户端100的应用程序运行swf文件时,需要通过调用flash中的函数。因此,可以在flash中编写运行地址信息获取函数,通过这个运行地址信息获取函数来获取swf文件的运行地址信息,通过运行地址信息来判断swf文件的运行环境,从而检测swf是否被第三方应用程序400使用。运行地址信息可以是,但不限于包括运行swf文件的应用程序的域名信息、以及swf文件的url(uniformresourelocator,统一资源定位器)地址等。

请参照图5,步骤s101可以包括以下子步骤:

子步骤s1011,依据运行swf文件的应用程序是否有域名,确定运行swf文件的应用程序的域名信息。

在本发明实施例中,当swf文件被网络应用程序运行时,也就是正常运行时,通过flash获取的运行swf文件的应用程序的域名必然是对应网站的域名,例如,当swf文件通过浏览器被百度运行时,百度的网页调用flash运行swf文件,则flash获取其的应用程序的域名是www.baidu.com;但是,当黑客直接获取网络应用程序的swf文件并通过第三方应用程序400运行时,通过flash则无法获取到网站域名,因此,可以依据运行swf文件的应用程序是否有域名,来确定运行swf文件的应用程序的域名信息,当通过flash无法获取到网站域名时,可以设置运行swf文件的应用程序的域名信息为一个固定的本地信息,例如localhost(本地主机)。

作为一种实施方式,通过运行地址信息获取函数确定运行swf文件的应用程序的域名信息的方法可以是:首先,使用flash提供的组件来创建一个域对象localdomain,可以通过varlocaldomain:localconnection=newlocalconnection();语句实现,其中,localconnection是创建域对象localdomain的组件,然后,通过调用该组件的方法来获取到域对象localdomain,并通过域对象localdomain来获取运行swf文件的应用程序的域名mydomainnamedata,可以通过varmydomainnamedata:string=localdomain.domain;语句实现,其中。对于正常运行的swf文件获取到的域名信息是其对应网站的域名,而对于被第三方使用的swf文件,获取到的域名信息则是固定的“localhost”信息。

请参照图6,步骤s1011可以包括以下子步骤:

子步骤s10111,判断运行swf文件的应用程序是否有域名。

在本发明实施例中,如果运行swf文件的应用程序有域名,则执行子步骤s10112,如果运行swf文件的应用程序没有域名,则执行子步骤s10113。

子步骤s10112,获取应用程序的域名信息。

在本发明实施例中,如果运行swf文件的应用程序有域名,则通过flash获取该应用程序的域名信息,例如,域名信息是www.baidu.com。

子步骤s10113,将第一预设值作为应用程序的域名信息。

在本发明实施例中,如果运行swf文件的应用程序没有域名,则将第一预设值作为应用程序的域名信息,所有的第三方应用程序400运行swf文件时,其域名信息均是第一预设值,第一预设值可以是一个固定的本地信息,例如localhost(本地主机)。

子步骤s1012,依据运行swf文件的应用程序是否有url地址,确定swf文件的第一url地址。

在本发明实施例中,第一url地址可以是,但不限于根据运行swf文件的应用程序所确定的swf文件的url地址。当swf文件被网络应用程序运行时,也就是正常运行时,swf文件的第一url地址必然是该网站的域名及该网站运行的swf文件的服务器路径信息,也就是该网站页面的url地址,例如,http://zhidao.baidu.com/question/124891257.html;但是,当黑客直接获取网络应用程序的swf文件并通过第三方应用程序400运行时,通过flash则无法获取到网站的url地址,因此,可以依据运行swf文件的应用程序的当前页面是否有url地址,来确定swf文件的第一url地址,当通过flash无法获取到当前页面的url地址时,可以设置swf文件的本地磁盘路径信息作为swf文件的第一url地址,其中,第三方应用程序400通过本地磁盘路径存储于客户端100。

作为一种实施方式,在运行地址信息获取函数中可以通过调用javascript脚本代码来获取运行swf文件的应用程序的url地址,换句话说,通过flash提供的externalinterface.call接口来调用javascript的函数代码,可以通过varweburl:string=externalinterface.call(functiongeturl(){returnwindow.location.href;});语句实现,其中,functiongeturl(){returnwindow.location.href;}语句是编写的获取应用程序url地址的javascript代码,window.location.href语句则是获取到的应用程序url地址的javascript代码。

请参照图7,步骤s1012可以包括以下子步骤:

子步骤s10111,判断运行swf文件的应用程序是否有url地址。

在本发明实施例中,如果运行swf文件的应用程序有url地址,则执行子步骤s10122,如果运行swf文件的应用程序没有url地址,则执行子步骤s10123。

子步骤s10122,将url地址作为swf文件的第一url地址。

在本发明实施例中,如果运行swf文件的应用程序有url地址,则将应用程序的url地址作为swf文件的第一url地址,例如http://zhidao.baidu.com/question/124891257.html。

子步骤s10123,将swf文件的本地磁盘路径信息作为swf文件的第一url地址,其中,第三方应用程序通过本地磁盘路径存储于客户端。

在本发明实施例中,如果运行swf文件的应用程序有没url地址,则将将swf文件的本地磁盘路径信息作为swf文件的第一url地址,例如,c:\users\administrator\desktop\**.swf。

子步骤s1013,从swf文件加载的舞台对象获取swf文件的第二url地址,其中,swf文件的运行地址信息包括域名信息、第一url地址和第二url地址。

在本发明实施例中,第二url地址可以是,但不限于根据swf文件加载的舞台对象所确定的swf文件的url地址。由于在swf文件中用来被渲染的舞台对象都具有rootsprite根对象,因此该rootsprite根对象的url地址就是swf文件的第二url地址。

在本发明实施例中,当swf文件被网络应用程序运行时,也就是正常运行时,rootsprite根对象的url地址必然是该网站的域名及该网站运行的swf文件的服务器路径信息,也就是该网站页面的url地址;但是,当黑客直接获取网络应用程序的swf文件并通过第三方应用程序400运行时,通过flash则无法获取到rootsprite根对象的url地址,因此,可以依据rootsprite根对象,来确定swf文件的第二url地址,当通过flash无法获取到当前页面的url地址时,可以设置rootsprite根对象的本地磁盘路径信息作为swf文件的第二url地址。

作为一种实施方式,在运行地址信息获取函数中根据rootsprite根对象获取swf文件的第二url地址的方法可以是,但不限于通过varweburl:string=rootsprite.stage.loaderinfo.url.tostring();语句实现,其中,weburl则是获取到的rootsprite根对象的url地址。

在本发明实施例中,swf文件的运行地址信息包括运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址。通过调用javascript脚本代码来获取swf文件的第一url地址和使用舞台对象来swf文件的第二url地址的优点是,使用不同的技术手段来获取swf文件的url地址,可以防止数据被篡改,提高了获取的swf文件的运行地址信息的安全性。

步骤s102,将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。

在本发明实施例中,可以在flash的关键函数中调用运行地址信息获取函数来获取swf文件的运行地址信息,并将该信息进行加密后上报服务器。关键函数可以是flash最开始执行或者初始化的函数,该函数必须是会被调用到的,关键函数获取到运行地址信息获取函数采集的获取swf文件的运行地址信息后,则会将所获取到的运行地址信息进行加密后上报到服务器,服务器会对运行地址信息的进行判断,从而确定swf文件是否被第三方应用程序400使用。

作为一种实施方式,可以通过info=aes.encrypt(mydomainnamedata+weburl+weburl2,key);语句实现在flash的关键函数中加入swf文件的运行地址信息,并将该信息进行加密后上报到服务器,其中,aes.encrypt是aes加密算法的加密接口;参数mydomainnamedata+weburl+weburl2分别是运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址;key是加密使用的key信息;info数据是加密后上报到服务器的数据。

请参照图8,图8示出了本发明实施例提供的应用于服务端200的检测swf文件被第三方应用程序使用的方法的流程图。应用于服务端200的检测swf文件被第三方应用程序使用的方法包括以下步骤:

步骤s201,获取客户端发送的swf文件的运行地址信息。

在本发明实施例中,当客户端100上报了swf的运行地址信息后,服务端200获取到上报信息后,首先会对该上报信息进行解密,从而获取到运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址。

作为一种实施方式,服务端200对上报信息进行解密可以通过mydomainnamedata+weburl+weburl2=aes.decrypt(info,key);语句实现,其中,aes.decrypt是aes解密算法的解密接口;参数key是和客户端100加密时使用的同一key;结果数据mydomainnamedata+weburl+weburl2分别是运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址。

步骤s202,判断运行地址信息是否符合预设标准,若不符合,则判定swf文件被第三方应用程序使用。

在本发明实施例中,服务端200可以依据swf文件运行地址信息来判断该swf文件是在正常的网络应用程序中运行还是被第三方应用程序400使用,预设标准可以是,但不限于运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址均为网络地址,当swf文件运行地址信息符合预设标准时,也就是运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址均为网络地址时,判定swf文件运行在正常环境,否则,当swf文件运行地址信息不符合预设标准时,也就是运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址中的任意一个不是网络地址时,例如,参数mydomainnamedata是“localhost”,或者swf文件的第一url地址和swf文件的第二url地址中任意一个是类似“c:\users\administrator\desktop\**.swf”的swf文件在客户端100的磁盘存储路径信息,均判定为swf文件被第三方应用程序400使用。

在本发明实施例中,首先,当swf文件被客户端100的应用程序运行时,客户端100通过flash获取swf文件的运行地址信息,并将运行地址信息发送到服务端200,服务端200根据运行地址信息,就能够判定swf文件是否被第三方应用程序400使用,当swf文件被第三方应用程序400使用时,服务端200可以第一时间获知,从而采集相应的措施,有效避免现有技术中swf文件被反编译的问题;其次,通过使用不同的技术手段来获取swf文件的url地址,可以防止数据被篡改,提高了获取的swf文件的运行地址信息的安全性;最后,服务端200通过swf文件的运行地址信息包括运行swf文件的应用程序的域名信息、swf文件的第一url地址和swf文件的第二url地址三个不同的信息来综合判定swf文件的运行环境,提高了服务端200判定的准确性。

第二实施例

请参照图9,图9示出了本发明较佳实施例提供的第一检测装置110的方框示意图。第一检测装置110应用于客户端100,其包括第一执行模块111和第二执行模块112。

第一执行模块111,用于当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息。

在本发明实施例中,第一执行模块111可以用于执行步骤s101。

请参照图10,图10为图9示出的第一检测装置110中第一执行模块111的方框示意图。第一执行模块111包括域名信息获取单元1111、第一url地址获取单元1112及第二url地址获取单元1113。

域名信息获取单元1111,用于依据运行swf文件的应用程序是否有域名,确定运行swf文件的应用程序的域名信息。

在本发明实施例中,域名信息获取单元1111可以用于执行子步骤s1011。

请参照图11,图11为图10示出的第一执行模块111中域名信息获取单元1111的方框示意图。域名信息获取单元1111包括第一判断单元11111、第一子执行单元11112及第二子执行单元11113。

第一判断单元11111,用于判断运行swf文件的应用程序是否有域名。

在本发明实施例中,第一判断单元11111可以用于执行子步骤s10111。

在本发明实施例中,如果第一判断单元11111的执行结果为“是”,则转第一子执行单元11112执行子步骤s10112,如果第一判断单元11111的执行结果为“否”,则转第二子执行单元11113执行子步骤s10113。

第一子执行单元11112,用于获取应用程序的域名信息。

在本发明实施例中,第一子执行单元11112可以用于执行子步骤s10112。

第二子执行单元11113,用于将第一预设值作为应用程序的域名信息。

在本发明实施例中,第二子执行单元11113可以用于执行子步骤s10113。

第一url地址获取单元1112,用于依据运行swf文件的应用程序是否有url地址,确定swf文件的第一url地址。

在本发明实施例中,第一url地址获取单元1112可以用于执行子步骤s1012。

请参照图12,图12为图10示出的第一执行模块111中第一url地址获取单元1112的方框示意图。第一url地址获取单元1112包括第二判断单元11121、第三子执行单元11122及第四子执行单元11123。

第二判断单元11121,用于判断运行swf文件的应用程序是否有url地址。

在本发明实施例中,第二判断单元11121可以用于执行子步骤s10121。

在本发明实施例中,如果第二判断单元11121的执行结果为“是”,则转第三子执行单元11122执行子步骤s10122,如果第二判断单元11121的执行结果为“否”,则转第四子执行单元11123执行子步骤s10123。

第三子执行单元11122,用于将url地址作为swf文件的第一url地址。

在本发明实施例中,第三子执行单元11122可以用于执行子步骤s10122。

第四子执行单元11123,用于将swf文件的本地磁盘路径信息作为swf文件的第一url地址,其中,第三方应用程序通过本地磁盘路径存储于客户端。

在本发明实施例中,第四子执行单元11123可以用于执行子步骤s10123。

第二url地址获取单元1113,用于从swf文件加载的舞台对象获取swf文件的第二url地址,其中,swf文件的运行地址信息包括域名信息、第一url地址和第二url地址。

在本发明实施例中,第二url地址获取单元1113可以用于执行子步骤s1013。

第二执行模块112,用于将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。

在本发明实施例中,第二执行模块112可以用于执行步骤s102。

请参照图13,图9示出了本发明较佳实施例提供的第二检测装置210的方框示意图。第二检测装置210应用于服务端200,其包括第三执行模块211和第四执行模块212。

第三执行模块211,用于获取客户端发送的swf文件的运行地址信息。

在本发明实施例中,第三执行模块211可以用于执行步骤s201。

第四执行模块212,用于判断运行地址信息是否符合预设标准,若不符合,则判定swf文件被第三方应用程序使用。

在本发明实施例中,第四执行模块212可以用于执行步骤s202。

综上所述,本发明提供的一种检测swf文件被第三方应用程序使用的方法、装置、客户端及服务端,客户端安装有flash,应用于客户端的所述方法包括:当swf文件被客户端的应用程序运行时,通过flash获取swf文件的运行地址信息;将运行地址信息发送至服务端,以使服务端根据运行地址信息判定swf文件是否被第三方应用程序使用。应用于服务端的所述方法包括:获取客户端发送的swf文件的运行地址信息;判断运行地址信息是否符合预设标准,若不符合,则判定swf文件被第三方应用程序使用。本发明当swf文件被第三方应用程序使用时,服务端可以第一时间获知,从而采集相应的措施,有效避免现有技术中swf文件被反编译的问题;另外,使用不同的技术手段来获取swf文件的url地址,可以防止数据被篡改,提高了获取的swf文件的运行地址信息的安全性;同时,服务端通过不同信息来综合判定swf文件的运行环境,提高了服务端判定的准确性。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1