一种保护利用通用平台开发的终端软件的方法技术

技术编号:2842354 阅读:168 留言:0更新日期:2012-04-11 18:40
一种保护利用通用平台开发的终端软件的方法,将终端通过串行设备端口连接到计算机上;通过Windows自带的附件->通信->超级终端分别打开DATA口和Diagnotics口,保证这两个口工作正常;用超级终端打开DATA口;通过扩展的AT命令实现对Diag口的指定。采用本发明专利技术所述方法,使竞争对手无法分析软件执行代码、无法修改NV参数、无法监测软件实现功能等与现有技术相比,可以增强终端产品软件的安全性,可以保护技术秘密。

【技术实现步骤摘要】

本专利技术涉及一种对利用通用平台开发的终端产品软件进行保护的方法,尤其涉及通讯领域的高通平台终端类产品。
技术介绍
手机类终端产品已经作为我们的日常消费品走入百姓生活,手机品牌也是数不胜数,但是其中大多数手机研发企业都不掌握核心技术,都是在少数几家国外大公司的平台上完成应用研发工作。如CDMA手机,绝大多数都是在高通的平台上开发的,随着时间的推移,这种趋势越来越明显。目前手机平台软件的保护主要是通过发放许可证来保证,但对于基于平台开发的应用软件却缺少有效的防护措施。而随着手机软件逐渐向多媒体,如视频电话,电子商务,网络游戏等方向的发展。在带给用户业务灵活性的同时,也容易使手机软件面临各种各样的攻击,如病毒,黑客及竞争对手的不正当窜改。如何保护正常的手机应用软件下载与NV参数修改,并阻止授权软件下载,目前的做法是采用各种手机防病毒软件,但这也带来了对手机处理能力要求高,占用额外资源等要求,同时也带来了成本的增加。美国高通公司是CDMA技术的创始者,拥有非常成熟的CDMA技术和产品平台,能够支持手机平台产品的开发,现在产品已经涉及到GSM和WCDMA平台。但是高通和世界上很多终端类产品研发企业都有合作伙伴关系,开发工具都是通用的,这会带来一家公司的手机很容易被其他公司解剖分析的结果。现在没有发现有手机有软件保护方面的措施。本专利技术正是基于这种背景下,为了防止手机应用软件被不正当修改,而提出的一种基于串口协议分析,以通用AT命令方式,给出手机平台软件与手机应用软件保护方法。
技术实现思路
本专利技术要解决的技术问题是为了克服了现有技术中的不同手机研发企业使用同一平台研发、导致开发工具通用、手机容易被解剖的缺点,解决现有技术中存在的手机通用平台中的软件技术安全问题,提出一种对利用通用平台开发的终端软件保护的方法。本专利技术的技术方案是在通用平台的手机中,最终商用的软件使用AT命令通过调用设备配置函数打开或关闭通用调试工具所依赖的调试口。上述方法,可以包括以下步骤步骤1、将终端通过串行设备端口连接到计算机上;步骤2、通过Windows自带的附件——>通信——>超级终端分别打开DATA口和Diagnotics口,保证这两个口工作正常;步骤3、用超级终端打开DATA口;步骤4、通过扩展的AT命令实现对Diag口的指定。所述串行通讯设备端口是UART、USB或PCMCIA。利用高通平台解决方案中的SIO模块实现对串行设备的控制与管理,设置运行时设备端口的映射。所述通过扩展的AT命令实现对Diag口的指定,可以包括输入AT+ZDIAG=0,或者AT+ZDIAG=1,或者AT+ZDIAG=6;当AT+ZDIAG=0时,Diag口不可用;当AT+ZDIAG=1时,Diag口指向UART;当AT+ZDIAG=6时,Diag口指向USB。采用本专利技术所述方法,使竞争对手无法分析软件执行代码、无法修改NV参数、无法监测软件实现功能等与现有技术相比,可以增强终端产品软件的安全性,可以保护技术秘密。附图说明图1是硬件通过串口连接示意图;图2硬件通过USB口连接示意图;图3是传输数据的接口层示意图;图4是设备配置函数实现步骤图示。具体实施例方式图1、图2示出的是计算机通过串口或USB口数据线与被测件手机连接的硬件连接关系图。下面以高通的MSM6250为例来介绍具体实施方案高通平台解决方案中,对应的软件模块中有SIO,SIO模块是AMSS6250 DataService软件模块之一,提供了串行设备(UART、USB、BT等)的控制和管理功能,支持运行时设置设备映射的功能。SIO总体架构如图3所示,图3示出了传输数据的接口层的情况。SIOLIB是传输数据的接口层,在该接口层之下,可以支持多个串行设备,如UART、USB、BlueTooth等。SIO为应用程序提供了一套机制来控制底层设备,通过统一的接口实现了设备的透明性。并且,用户只要提供设备驱动程序和相应的SIO接口函数,就可以增加新的设备到SIO中。SIO支持多种应用程序,如Diag Service、Data Service、RPC Service和GPS Service等等。SIO支持Data Service运行在UART或者USB上,不但可以对数据包和AT命令自动检测,还可以根据控制符号(+++)跳离数据呼叫状态。另外,SIO支持Diag Monitor运行在UART或者USB上,并且可以根据需要将Diag切换到DataService使用的端口上,如UART或USB。Diag支持通过UART或USB进行服务配置、程序擦写。本专利技术的实现方案在进行Diag口的加、解密过程中,该Diag口的设备端口都是一直存在的,也就是说,驱动装好后,就将该端口的设备控制、配置等完成。这样对设备端口的控制及使用更可靠,方便,不需要使用过程中卸载、添加设备端口。根据实际使用时,用到的AT命令端口和Diag口是UART还是USB或者两者都有,我们可以分成如下几类1、设备端口只有UART的情况AT命令和Diag口都是使用UART口,AT命令用到的端口和Diag口从物理上来说都是一样的,只是上面跑的协议不一样,所以配置的不一样的协议类型,上面传的消息解出来就不一样,从而给我们的实现提供依据。在实现时,通过扩展AT命令,使得需要端口协议类型转换时,用该AT命令来指定,以使得指定后的端口可以用于diag service或不能用于diag service。2、设备端口只有USB通过USB驱动定义用到的RDM_USB_xxxx_DEV及USB端点定义来增加(指定)可用的端口。这里AT命令用到的端口和Diag口是两个口。通过扩展AT命令(该扩展的AT命令功能是指定diag端口)指定的要进行Diag通讯的端口,才可以进行diag service;若Diag口指定到其他端口,则不能进行diag service。3、设备端口同时有UART和USB如果Diag口和AT命令用同一个端口,我们实现diag service加密工作的方法同方案1或方案2的实现;如果Diag口和AT命令用不同的端口,我们实现diag service加密工作的方法和方案2的实现类似。只要用扩展的AT命令将Diag口指定到没有配置Diag协议的端口上即可,在要使用Diag口时,用AT命令激活即可。本专利技术需要用到API函数,此API函数一般由平台软件提供,其主要功能是为实时运行的设备指配端口。如果平台软件没有提供此函数,也可以自行开发。此函数为实时运行的设备指配端口的流程图如图41、开始参数赋值,主要参数包括业务类型和所需要的设备参数,以及其他查询参数。2、检查业务和设备合法性,以及是否匹配。3、检查设备参数是否为无效设备。是无效设备表示要关掉该业务,否则表示要打开该业务。4、设备参数无效。检查当前设备号,按照当前设备号情况关闭业务功能。5、设备参数有效。则判断该业务是否支持多设备,根据多业务支持情况打开该业务。如果不支持多设备,则要关闭当前设备,再打开新设备。本专利技术的打开关闭调试口步骤为步骤1将终端设备通过串行设备端口连接到计算机上;串行端口,如UART、USB、PCMCIA口。利用高通平台解决方案中的SIO模块实现对串行设备的控制本文档来自技高网...

【技术保护点】
一种保护利用通用平台开发的终端软件的方法,使用扩展的AT命令通过调用设备配置函数打开或关闭通用调试工具所依赖的调试口。

【技术特征摘要】

【专利技术属性】
技术研发人员:王卫郭艳玲姚升卢忱李岩
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1