windows mobile 6.5.3 繞過(guò)簽名的機(jī)制
1、現(xiàn)在還仍在做windows mobile開(kāi)發(fā)的人幾乎很少了,都轉(zhuǎn)到安卓平臺(tái),所以相關(guān)資料少之又少。
2、關(guān)于特權(quán)API和普通API的說(shuō)明,網(wǎng)上很多資料,比如http://www.360doc.com/content/06/0118/23/73_60330.shtml 就針對(duì)windows mobile特權(quán)API的說(shuō)明。
3、作為OS開(kāi)發(fā)者,擁有很多特權(quán),但微軟還是做了限制,比如我們自己生成的根證書(shū),又要什么證書(shū)頒發(fā)機(jī)構(gòu)購(gòu)買(mǎi)證書(shū),完全沒(méi)有必要,下面介紹如何通過(guò)某些手段將我們自己的根證書(shū)加入到系統(tǒng)中去,這樣后面我們自己再用自己的根證書(shū)以及其簽名的證書(shū)對(duì)別的.exe,.dll進(jìn)行簽名,系統(tǒng)就認(rèn)為我們是認(rèn)證過(guò)的,就會(huì)給予特權(quán)。
4、其實(shí)系統(tǒng)根證書(shū)的存放目錄是在%WINCEROOT%PUBLICCOMMONOAKFILES目錄下的,名字叫做sysroots.p7b,其實(shí)我們雙擊可以打開(kāi),會(huì)看到里面很多證書(shū),這些證書(shū)都是和系統(tǒng)里面的一一對(duì)應(yīng)的,我們無(wú)法直接將自己的.cer根證書(shū)加入到.p7b文件中去的。
5、那怎么辦呢,原理是這樣,我們先把sysroots.p7b中包含的所有證書(shū)都導(dǎo)入到我們的電腦,然后再在電腦中添加新的證書(shū),然后再導(dǎo)出成.p7b文件,這樣就把新的證書(shū)加
入到.p7b文件中了。我們鼠標(biāo)指向sysroots.p7b之后,點(diǎn)右鍵,安裝證書(shū),按如下步驟:
6、通過(guò)以上步驟,我們已經(jīng)將.p7b里面的證書(shū)全部導(dǎo)入到計(jì)算機(jī)中,然后在計(jì)算機(jī)中,我們自己再添加自己新的證書(shū):
在運(yùn)行中輸入mmc,回車(chē),點(diǎn)文件->“添加或刪除管理單元”->證書(shū),然后找到“受信任的發(fā)布者證書(shū)”,所有的剛才導(dǎo)出的證書(shū)都在這里面了,然后右鍵點(diǎn)空白區(qū)域, 所有任務(wù)->導(dǎo)入,瀏覽需要加入到系統(tǒng)中的新的.cer證書(shū),添加完畢,然后全選,右鍵導(dǎo)出。
7、由于最原始的sysroots.p7b被微軟打包在MSXIPKernel.cab.pkg文件中(你可以用winrar嘗試打開(kāi)查看一下,里面全部都是預(yù)編譯好的文件),所以我們不僅要替換系統(tǒng)的sysroots.p7b文件,而且我們要先在release目錄下找到MSXIPKernel.cab.pkg并全部刪掉,再在命令行下執(zhí)行makeimg,這時(shí)會(huì)重新生成MSXIPKernel.cab.pkg,我們打開(kāi)新的.pkg文件,就會(huì)發(fā)現(xiàn)我們修改過(guò)的sysroots.p7b已經(jīng)在里面了,然后為了安全起見(jiàn),我們?cè)趐ublic目錄下搜索MSXIPKernel.cab.pkg,找到之后刪除掉,然后用新生成的pkg替換微軟原始的pkg,至此,根證書(shū)添加完畢。
8、后面我們可以使用根證書(shū)或者根證書(shū)簽名的新證書(shū)對(duì)應(yīng)用程序或者dll進(jìn)行簽名,就可以獲得系統(tǒng)的特權(quán)API了,可以隨意對(duì)系統(tǒng)進(jìn)行修改,沒(méi)有任何限制。





