windows mobile 6.5.3 绕过签名的机制
扫描二维码
随时随地手机看文章
1、现在还仍在做windows mobile开发的人几乎很少了,都转到安卓平台,所以相关资料少之又少。
2、关于特权API和普通API的说明,网上很多资料,比如http://www.360doc.com/content/06/0118/23/73_60330.shtml 就针对windows mobile特权API的说明。
3、作为OS开发者,拥有很多特权,但微软还是做了限制,比如我们自己生成的根证书,又要什么证书颁发机构购买证书,完全没有必要,下面介绍如何通过某些手段将我们自己的根证书加入到系统中去,这样后面我们自己再用自己的根证书以及其签名的证书对别的.exe,.dll进行签名,系统就认为我们是认证过的,就会给予特权。
4、其实系统根证书的存放目录是在%WINCEROOT%PUBLICCOMMONOAKFILES目录下的,名字叫做sysroots.p7b,其实我们双击可以打开,会看到里面很多证书,这些证书都是和系统里面的一一对应的,我们无法直接将自己的.cer根证书加入到.p7b文件中去的。
5、那怎么办呢,原理是这样,我们先把sysroots.p7b中包含的所有证书都导入到我们的电脑,然后再在电脑中添加新的证书,然后再导出成.p7b文件,这样就把新的证书加
入到.p7b文件中了。我们鼠标指向sysroots.p7b之后,点右键,安装证书,按如下步骤:
6、通过以上步骤,我们已经将.p7b里面的证书全部导入到计算机中,然后在计算机中,我们自己再添加自己新的证书:
在运行中输入mmc,回车,点文件->“添加或删除管理单元”->证书,然后找到“受信任的发布者证书”,所有的刚才导出的证书都在这里面了,然后右键点空白区域, 所有任务->导入,浏览需要加入到系统中的新的.cer证书,添加完毕,然后全选,右键导出。
7、由于最原始的sysroots.p7b被微软打包在MSXIPKernel.cab.pkg文件中(你可以用winrar尝试打开查看一下,里面全部都是预编译好的文件),所以我们不仅要替换系统的sysroots.p7b文件,而且我们要先在release目录下找到MSXIPKernel.cab.pkg并全部删掉,再在命令行下执行makeimg,这时会重新生成MSXIPKernel.cab.pkg,我们打开新的.pkg文件,就会发现我们修改过的sysroots.p7b已经在里面了,然后为了安全起见,我们在public目录下搜索MSXIPKernel.cab.pkg,找到之后删除掉,然后用新生成的pkg替换微软原始的pkg,至此,根证书添加完毕。
8、后面我们可以使用根证书或者根证书签名的新证书对应用程序或者dll进行签名,就可以获得系统的特权API了,可以随意对系统进行修改,没有任何限制。