全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Mobile应用开发中给自己的应用程序签名王永辉WindowsMobile5开始,Pocket PC和Smartphone上都使用数字签名的方法对应用程序进行验证,减少系统被不明来源的程序危害的可能。这样就给应用程序开发带来一些不便,如果不进行签名,在运行的时候将出现提示,或者一些驱动无法加载。 Windows Mobile 5SDK中包含了一个能够安装到移动设备的证书以及对应这个证书的一系列签名,供开发者在调试程序的时候使用。相关的文件都在?:Program FilesWindows CE Toolswce500Windows Mobile 5.0 Pocket PC SDKTools这个目录下。安装了Windows Mobile 5 SDK的用户可以很容易找到这个目录。具体步骤:1.在设备上安装sdk certificates。将该目录下的SdkCerts.cab复制到设备,并安装。2.在开发过程中,设置工程的Authenticode Signing,将程序签名: (1)Project-.Properties或者其他方式(Alt+F7等等)打开工程属性设置页面。 (2)在Configuration Properties中选择Authenticode Signing,设置 Authenticode Signature = YES; 按下Certificate栏目右边的.,出现Select Certificate窗口,如果第一次使用,需要导入证书,按下manage certificates,然后按下Import,在Certificate Import Wizard中,选择pfx类型的文件,Browse到?:Program FilesWindows CE Toolswce500Windows Mobile 5.0 Pocket PC SDKTools目录,依据权限需求从3个证书种选择一个,然后导入到Personal下,这样退出Wizard后就可以看到刚才导入的证书,直接选择,Close,Certificate栏目就有了证书; Provision Device依据权限选择就可以。 重新Build这个程序,新的程序将被签名。这样在安装了SdkCerts的设备上,就可以直接运行了,一些Dll驱动也可以被加载了微软移动代码签名证书 (Authenticated Content Signing for Microsoft Windows Mobile)(简称ACS,现已更名为Code Signing Account for Microsoft® Mobile2Market):支持使用微软 Windows Mobile 的 SmartPhone 和 Pocket PC 的移动终端操作系统的移动应用软件的非特权签名和特权签名,以确保移动下载的软件代码在移动终端 ( 如智能手机和 PDA) 的安全。很多朋友肯定一开始就遇到过这样的问题,用Resco无法Access具有系统属性的文件,AppInstall下面的反安装程序也无法删除,用PHM Registry Editor改注册表,结果有很多注册表项目无法更改,比如HKLMSystem HKLMSecurity等等。其实这个就是微软在Smartphone里面引入的特权保护机制,现在Windows Mobile 5.0里面,这种机制也被带入了PPC系列,总而言之,就是为了安全性,对应用程序能够访问的系统资源作了限制,如果没有这种限制,很可能就会造就相当一部分的恶意程序,因为应用程序可以随意调用特权API,篡改你的SIM卡信息,给你的联系人群发垃圾短信,窃取你的联系人信息,或是删除重要的系统文件。所以微软把系统资源分成了两种权限,特权级和非特权级(Privileged / Unprivileged),一般我们运行的应用程序都是出于非特权级别的,比如Resco,由于没有特权,所以无法删除某些系统文件,而PHM Registry Editor也是如此,无法更改某些注册表条目。至于Windows API,也同样如此,分为特权API和非特权API,一般应用程序如果调用特权API就会产生调用失败有关这部分的详细内容,请参考MSDN上的文章,中文翻译版早已经出来了。那么系统如何区分特权应用程序和非特权应用程序呢?关键在于手机所设定的特权保护机制(Policy),以及应用程序本身的数字签名。手机内部有个根证书存储区,里面存放着一些被信任的发行商的特权数字签名(当然也有被信任的非特权数字签名),用这些特权列表里面的数字证书签名的应用程序运行时就拥有特权。比如HTC的机器就把HTC自己的数字签名加入了这个受信任的特权根证书列表里面,所以大家可以用IA(被HTC收购,所以是自家货)系列的工具来进行其他工具所不能进行的特权操作。而且不知大家注意没,一般我们新拷贝一个程序到机器上,第一次运行总会提问,该程序数字签名不被信任,是否运行,但IA系列的工具从来不会弹出这个提示(除非被改动过),因为它的数字签名是在信任列表里的。我曾经看IA的图标不爽,改了,然后用自己的数字签名签了一遍,后来发现这个IA已经相当于被阉了,失去了特权,因为我的数字签名不在信任的特权列表里。 这也说明了这种保护机制的确起了作用,可以保证原始公司的特权程序不被篡改。既然我们搞不到HTC等这些特权发行商的数字签名,那么有没有办法让我自己的数字签名也被信任呢?这样的话,像上面提到的我改过的IA,也可以以特权模式运行。答案是肯定的方法1. 把自己的数字签名加入到特权信任列表大家刷ROM的时候是不是干过一件事,就是安装Cert.cab,其实这个就是将ROM刷新工具的数字签名加入手机的信任特权列表,因为虽然刷ROM的工具是PC端的,但它还是要调用RAPI来访问SmartPhone,所以一样需要受到认证授权。我们自己的数字签名也可以如此做,用smartphone SDK提供的工具将数字签名以XML的形式(Base64编码)传到手机上,导入到注册表里(信任的证书列表是存放在注册表里的,HKLMCommSecuritySystemCertificate, 看看具体证书项里面的blob键值,就可以知道手机里哪些数字签名是默认信任的,虽然是2进制,但一样可以看出来,HTC赫然其中) 不过这种方法只适合于开发者,普通用户操作起来太麻烦,需要一点点理论知识方法2. 改变手机特权策略,让它根本就不进行特权签名验证既然加入自己的特权证书这么麻烦,为什么不干脆干掉这个特权限制呢,让所有的程序都有特权,人人平等(当然也会带来潜在的威胁)。其实手机里除了数字签名,还有一个保护策略的问题(Policy)大家可以看看HKLMSecurityPoliciesPolicies下面的一对数字键,其实每个键都代表一个保护策略,比如是否允许安装未信任签名的CAB,是否允许运行未信任签名的程序(如果这一项启用了,那我们就只能运行极少数程序了,其他的程序连是否信任的对话框都不会弹出,就直接告诉你拒绝运行),还有就是最关键的,特权模式,该键的名称是0000101b,默认值是0,意思就是只有特权签名的程序才有特权访问。如果改成1,那就意味着所有的程序都可以拥有访问特权既然找到了问题,那就开干啊,呵呵,wait a minute,这个注册表项也是受特权保护的,一般的程序根本就无法更改它,除了我附件里提供的带有HTC特权数字签名的注册表编辑器,虽然跟我们常用的PHM Registry Editor长得一模一样,但这个可是有特权签名的版本,也不知是SPV-Devolopers上面哪个大牛能写入HTC的签名有了这个工具,你就可以轻松的把这个键值改为1,然后重启,然后就共产主义了。IA能干的所有事,Resco也能干了我们刷ROM的时候,也需要先运行一个SDA_ApplicationUnlock的程序对手机解锁,其实这个解锁工具干的也就是这档子事,帮你改了这个注册表条目。虽然我还没空反汇编这个解锁程序,不过基本肯定它就是这样干的了记得有人问过如果解锁后的手机如何才能重新Lock上,好多人都说硬启,呵呵,大可不必,把那个键值改回0,重启,万事OK我是干开发的,大老粗,文笔不好,有兴趣的将就着看吧,欢迎砸板砖Update: 干脆列个表吧,我目前试过的几个0000101b 就是SDA_ApplicationUnlock改动的地方,代表的含义是是否跳过程序的特权验证,改为1代表所有的程序都有特权,改回0就重新上锁了0000101a 是安装未签名Cab是否提示,0为允许提示,1为禁止提示00001006 就是未信任的程序是否允许运行,如果设置为0,而且机器又没有解锁的话,那么除了系统程序和IA,没几个程序能在你手机上运行HTC的特权证书在所有HTC的机器里都是存在于特权信任列表里的,当然包括DOPOD,当然,HTC证书签名的程序在8390,mpx220这些机型里面,跟普通程序就无异了,因为这些公司可不会买他的帐0000101b 就是SDA_ApplicationUnlock干的,代表的含义是是否跳过程序的特权验证,改回0就重新上锁了0000101a 是安装未签名Cab是否提示,0为允许提示,1为禁止提示还有00001006 就是未信任的程序是否允许运行,如果设置为0,而且机器又没有解锁的话,那么除了系统程序和IA,没几个程序能在你手机上运行转自:Dewinter.感谢分享.带特权签名的注册表编辑器:/SoftView/SoftView_7832.htmlSDA_ApplicationUnlock(SDA的解锁软件):/SoftView/SoftView_7830.html=2003解锁:HKEY_LOCAL_MACHINESecurityPoliciesPolicies下面的键值“0000101b”“1”(dword值),然后关机.2005解锁:HKEY_LOCAL_MACHINESecurityPoliciesPolicies00001001 = 1HKEY_LOCAL_MACHINESecurityPoliciesPolicies00001005 = 40没有可以新建一个=各位网友们有福了!其实是有办法把带特权签名的注册表编辑器复制到手机的,且是我们这种水平的人的唯一办法!首先:先下载一个具有(手机)解压功能的软件,例如:Explorer2003V4.4简体中文版for Smartphone2002(这是个具有解压
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宁夏体育职业学院单招职业适应性考试必刷测试卷及答案解析(名师系列)
- 2026年河北科技工程职业技术大学单招职业适应性测试题库及答案解析(夺冠系列)
- 2026年上海应用技术大学单招职业倾向性测试题库及答案解析(夺冠系列)
- 2026年朔州职业技术学院单招综合素质考试题库及答案解析(名师系列)
- 中职焊接教学中虚拟现实技术与技能训练的课题报告教学研究课题报告
- 2026年信阳学院单招职业技能考试必刷测试卷及答案解析(夺冠系列)
- 2026年山东职业学院单招职业倾向性测试题库及答案解析(夺冠系列)
- 2026年四川文化传媒职业学院单招综合素质考试必刷测试卷带答案解析
- 2026年咸宁职业技术学院单招职业技能考试必刷测试卷带答案解析
- 2026年汉中职业技术学院单招职业适应性考试题库及答案解析(名师系列)
- 第7课党是最高政治领导力量(课件+视频)-高一思想政治《中国特色社会主义》同步备课示范课件(高教版2023·基础模块)
- 业主委员会成立(换届)备案表模板
- CRRT护理配合进展
- 制造企业运营管理体系
- 装配电工包工合同协议
- 《心脏起搏器植入术》课件
- 购买协议合同协议
- 小学课程:学宪法 讲宪法
- 幼儿园项目式课程
- 金融科技学知到智慧树章节测试课后答案2024年秋重庆工商大学
- 2025年(广东省协会 )房屋安全检测鉴定技术培训-机考历年真题考前冲刺题
评论
0/150
提交评论