本发明专利技术公开了一种Android外挂特征检测的方法及系统,其中方法包括:客户端从服务端获取外挂程序的包名和Activity名;定义数据结构,以存储客户端所有安装包的元信息;将所述的安装包元信息的包名和Activity名与外挂程序的包名和Activity名进行匹配;若有匹配,则判断所述匹配信息对应的安装包是否运行;若有运行,则确认所述的安装包为外挂程序。通过上述方式,本发明专利技术能够实现Android游戏的外挂检测,保护游戏的公平性以及游戏厂商的利益;同时占用系统资源低,在低性能设备上也可以实现。
【技术实现步骤摘要】
本专利技术涉及Android
,尤其是涉及一种Android外挂特征检测的方法及 系统。
技术介绍
当前Android手机游戏非常流行,于是衍生出一批以修改Android游戏的行为或 数据为主要功能的应用,这些应用破坏了游戏的公平性、安全性和侵害了厂家的利益。当 前,在被越狱过的Android手机上,很难做到完全的防护,只能尽可能的提高游戏破解的难 度,和提高外挂检测的能力。随着游戏外挂的更新,游戏外挂的检测也需要不断的更新丰富 检测方式。 现有专利(【申请号】201410067209. X)公开了一种外挂程序的鉴定方法、服务器和 系统,该专利通过操作环境信息获取程序样本行为序列,以此判断外挂的方法,同时也没有 公开提取外挂样本的方法。此外,从模块耦合角度来看,该专利的外挂检测模块易被黑客分 析并攻击,安全性低。
技术实现思路
本专利技术所要解决的技术问题是:检测安装包的元信息,以及运行状态,以检测其是 否为外挂程序,保护游戏的公平性,和游戏厂商的利益。 为了解决上述技术问题,本专利技术采用的技术方案为:提供一种Android外挂特征 检测的方法,包括如下步骤: 客户端从服务端获取外挂程序的包名和Activity名; 定义数据结构,以存储客户端所有安装包的元信息; 将所述的安装包元信息中的包名和Activity名与外挂程序的包名和Activity名 进行匹配; 若有匹配,则判断所述匹配信息对应的安装包是否运行; 若有运行,则确认所述的安装包为外挂程序。 为解决上述问题,本专利技术还提供一种Android外挂特征检测的系统,包括: 获取模块,用于从服务端获取外挂程序的包名和Activity名; 元信息模块,用于定义数据结构,以存储客户端所有安装包的元信息; 匹配模块,用于将所述的安装包元信息中的包名和Activity名与外挂程序的包 名和Activity名进行匹配; 判断模块,用于判断所述匹配信息对应的安装包是否运行; 确认模块,用于确认所述安装包为外挂程序。 本专利技术的有益效果在于:区别于现有技术,本专利技术通过获取外挂程序应用特征信 息,并与本地客户端的安装包进行匹配,判断是否有安装包处于运行状态,若有,则确认为 外挂程序。通过上述方式,本专利技术可以实现Android游戏的外挂检测,保护游戏的公平性以 及游戏厂商的利益;同时占用系统资源低,在低性能设备上也可以实现。【附图说明】 图1为本专利技术方法实施例一的流程示意图; 图2为本专利技术方法实施例二的流程示意图; 图3为本专利技术系统实施例三的结构框图; 图4为本专利技术系统实施例四的结构框图。【具体实施方式】 为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附 图予以说明。 本专利技术最关键的构思在于:获取外挂程序应用特征信息,并与客户端上的在安装 包进行匹配,若有运行则认定为外挂程序。 请参照图1,本专利技术实施例一提供一种Android外挂特征检测的方法,包括如下步 骤: Sl :客户端从服务端获取外挂程序的包名和Activity名; S2 :定义数据结构,以存储客户端所有安装包的元信息; S3 :将所述的安装包元信息中的包名和Activity名与外挂程序的包名和 Activity名进行匹配; S4 :若有匹配,则判断所述匹配信息对应的安装包是否运行; S5 :若有运行,则确认所述的安装包为外挂程序。 具体地,本专利技术实施例一分析当前客户端(或本地)已安装的应用信息,提取应用 特征,匹配外挂特征的检测方式。 由于每个Android应用程序都具有一个清单文件,此文件描述了一个应用的配置 信息(即元信息),采集这些信息,提取出应用特征,使之和已收集的游戏外挂应用特征信 息作匹配,以此来确定游戏外挂。 其次,Android清单文件在应用安装进设备后很难再变化,只有在应用升级时会发 生变化,但是应用升级的频率一般不会很高,而且应用升级后可以及时重新采集特征信息, 这些信息保存在云端,可以做到方便快捷的更新。 在获取配置信息后,与外观程序(或恶意软件)的应用特征信息进行对比,若发现 匹配且在运行状态,则认定含有该元信息的安装包为外挂程序。 -般的,在一个应用被发布之后,应用的包名是固定的,虽然不是唯一的,但同一 个客户端上不能同时安装两个包名相同的应用,同时使用包名和Acitvity名几乎可以确 定一个应用,所以使用这两个特征作为应用特征信息。 其中,包名是android应用程序的一个特征,一个应用程序除了有名字还有一个 包名,名字在不同语言下可能显示不同,比如在中文下显示"音乐播放器",在英文下可能显 示的是"Music player",但是包名是确定的,如"com. nd. musicplayer"。包名是所有应用 都具有的,一般应用上传到应用商城也是通过包名和签名来授权的,所以一个应用发布后, 包名很难再改变,改变了包名就需要重新授权。 Activity是android中一种用来和用户交互的组件,简单地说,就是用户界面,每 个应用程序都必须具有至少一个Activity,这个Activity是入口界面,就是点开应用时第 一个看到的界面,这个界面也具有一个名字,通过同时检测包名和Activity名可以在很大 程度上减少误判。 比如烧饼加速外挂的包名是:org. sbtools. gamespeed 可以采集几个特殊的Activity名分别是: I. org. sbtools. gamespeed. main. MainActivity 2. org. sbtools. gamespeed. main. NoifyUserDialogActivity 3. org. sbtools. gamespeed. main. UserActivity 在实际检测时,通过组合使用上述包名及Activity作为特征,几乎不会发生误 判。 通过上述两个应用特征本质上确定的是应用程序是合法的。而德国Avira公司的 Avira AntiVirv杀毒软件使用类名的一部分作为特征检测手机应用是否包含广告和恶意 代码,具有很大的误判率。相反,使用包名和Activity名这两个应用特征信息时,由于在用 户命名时具有很大的随机性,而且同时组合使用,因此用此二者信息来进行检测外挂程序, 误判率很低。 区别于现有技术,本专利技术实施例一通过获取外挂程序应用特征信息,并与本地客 户端的安装包进行匹配,判断是否有安装包处于运行状态,若有,则确认为外挂程序。通过 上述方式,本专利技术可以实现Android游戏的外挂检测,保护游戏的公平性以及游戏厂商的 利益;同时占用系统资源低,在低性能设备上也可以实现。 如图2所示,在实施例一的基础上,本专利技术实施例二的步骤Sl具体为: Sll :在云端服务器储存外挂程序的包名和Activity名; S12 :启动客户端,通过http协议获取所述外挂程序的包名和Activity名; S13 :客户端缓存所述外挂程序的包名和Activity名在本地服务器上。 外挂程序(或恶意软件)的应用特征信息存储在云端服务器上,客户端定期(如 每天)第一次启动后,通过http协议获取该信息,并缓存在本地数据库上。 然后再定义数据结构,用于存储客户端所有安装包的元信息;具体如本文档来自技高网...
【技术保护点】
一种Android外挂特征检测的方法,其特征在于,包括:客户端从服务端获取外挂程序的包名和Activity名;定义数据结构,以存储客户端所有安装包的元信息;将所述的安装包元信息中的包名和Activity名与外挂程序的包名和Activity名进行匹配;若有匹配,则判断所述匹配信息对应的安装包是否运行;若有运行,则确认所述的安装包为外挂程序。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘德建,陈宏展,方振华,李上杰,李洋,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。