日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在大部分超級簽名原理及實現(xiàn)都是基于linux平臺來實現(xiàn)簽名的,代碼都是JAVA,php的需要各種部署,各種調(diào)用第三方工具,具體實現(xiàn)起來還是有些麻煩的,以下介紹超級簽名完全基于windows平臺來實現(xiàn),方便部署,給不懂php和linux提供個思路。


超級簽名原理

簽名原理其實就是,使用了蘋果提供給開發(fā)者的Ad-Hoc分發(fā)通道,把安裝設備當做開發(fā)設備進行分發(fā),要做到自動化首先需要獲取用戶設備的UDID,獲取UDID后需要將UDID添加到蘋果開發(fā)者中心進行生成描述文件,根據(jù)生成的描述文件、證書文件、待簽名包進行重新簽名生成安裝包ipa。

整體流程

IOS超級簽名原理及實現(xiàn)

 

接下來我們就看看整套機制是如何進行的:

設備安裝描述文件后,設備會向服務器(描述文件內(nèi)回調(diào)服務器地址)發(fā)送設備的UDID。

服務器收到UDID后,將UDID注冊到某個蘋果開發(fā)者賬號下。

再生成簽名用的描述文件,給IPA簽名。

然后iPA傳Server,使用itms-services方式讓用戶下載。

技術細節(jié)

UDID的獲取:

蘋果公司允許開發(fā)者通過IOS設備和Web服務器之間的某個操作,來獲得IOS設備的UDID(包括其他的一些參數(shù))。這里的一個概述:

在你的Web服務器(可以是任意語言的web服務)上創(chuàng)建一個.mobileconfig的XML格式的描述文件;

用戶下載描述文件后需要再手機設置里操作完成.mobileconfig描述文件的安裝;

服務器需要的數(shù)據(jù):UDID,需要在.mobileconfig描述文件中配置好,以及服務器接收數(shù)據(jù)的URL地址;

當用戶設備安裝描述文件后,設備會回調(diào)你設置的URL,如果你的URL返回302跳轉(zhuǎn)的話,Safari瀏覽器會跳轉(zhuǎn)到你所給的地址;

開發(fā)者設備注冊 更新Provisioning Profile:

注冊設備前提是需要登陸蘋果開發(fā)者中心才能有權限注冊設備,現(xiàn)有文章資料是通過(AppleDeveloperCenter自動化工具)調(diào)用Api實現(xiàn)注冊更新,這個工具我沒有去研究,應該是個很不錯的工具。下面介紹下直接通過調(diào)用蘋果開發(fā)者網(wǎng)站接口來實現(xiàn)登陸注冊和更新描述文件,直接調(diào)用蘋果接口的速度基本是秒生成,和AppleDeveloperCenter工具理論是一個方式都是調(diào)用Api接口所以在速度方面是相同的。

登陸蘋果開發(fā)者網(wǎng)站有很多請求頭參數(shù),最主要的就是“X-Apple-I-FD-Client-Info” 參數(shù),X-Apple-I-FD-Client-Info請求頭算法決定著通過蘋果的驗證

這里大致說下算法參數(shù),這個算法通過獲取瀏覽器的類型navigator.browser,瀏覽器版本navigator.Version,瀏覽器語言navigator.browserLanguage,插件Plugin,地域area,時間timestamp,screen.deviceXDPI,screen.deviceYDPI等多個參運算才能生成一個動態(tài)驗證串 json 如下

{"U":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/77.0.3865.90 Safari/537.36","L":"zh-CN","Z":"GMT+08:00","V":"1.1","F":"cOa44j1e3NlY5BSo9z4ofjb75PaK4Vpjt.gEngMQEjZr_WhXTA2s.XTVV26y8GGEDd5ihORoVyFGh8cmvSuCKzIlnY6xljQlpRD__htduVCbqWxf7_OLgiPFMJhHFW_jftckkCoqAkCoq0NUuAuyPB94UXuGlfUm0NUbNiqUU8jA2Q3wL6k03x0.5EwHXXTSHCSPmtd0wVYPIG_qvoPfybYb5EvYTrYesSAAQnIp.QEh2vLG9mhORoVijvw2WwjftckvIhIDLTK43xbJlpMpwoNSUC56MnGWpwoNHHACVZXnN9PL3rO8V.ueururJhBR.uMukAm4.f282pvEodUW2RjOI0NTg7lrCU.6elV2pNJFv64WDvUL0TFl9kmFxH_UavEp.icCmx_B4W1kl1BNlY6SGWY5BOgkLT0XxU..3hs"}

1.得到X-Apple-I-FD-Client-Info驗證數(shù)據(jù)就可以登陸蘋果開發(fā)者中心了,拿到授權Cookie可以操作開發(fā)者中心任意接口。

2.獲取蘋果團隊TeamId,這在以后的注冊設備,新建描述文件接口當中都會用到,具體的登陸地址以你可以使用Fildder進行抓包查看。

3.調(diào)用注冊設備接口 “/services-account/QH65B2/account/device/addDevices.action” 提交設備UDID,teamid,devicePlatforms,deviceNames,deviceNumbers,register 參數(shù)進行注冊。

4.創(chuàng)建描述文件 /services-account/QH65B2/account/ios/profile/createProvisioningProfile.action 我們通過這個接口來創(chuàng)建一個新的描述文件

IPA重新簽名

ipa的組成

IOS超級簽名原理及實現(xiàn)

 

事實上,ipa文件只是一個zip包,可以使用如下命令解壓:

/usr/bin/unzip -q xxx.ipa -d

解壓后,得到上圖的Payload目錄,下面是個子目錄,其中的內(nèi)容如下:

資源文件,例如圖片、html、等等。

_CodeSignature/CodeResources。這是一個plist文件,可用文本查看,其中的內(nèi)容就是是程序包中(不包括Frameworks)所有文件的簽名。注意這里是所有文件。意味著你的程序一旦簽名,就不能更改其中任何的東西,包括資源文件和可執(zhí)行文件本身。iOS系統(tǒng)會檢查這些簽名。

可執(zhí)行文件。此文件跟資源文件一樣需要簽名。

一個mobileprovision文件.打包的時候使用的,從MC上生成的。

Frameworks。程序引用的非系統(tǒng)自帶的Frameworks,每個Frameworks其實就是一個app,其中的結(jié)構應該和app差不多,也包含簽名信息CodeResources文件

重新簽名條件需要獲取對應文件:

UDID描述文件(上面我們已經(jīng)拿到了)

蘋果開發(fā)者賬號Cer證書(這個可以從開發(fā)者賬號下載,前提是你生成了這個證書)將這個證書通過openssl轉(zhuǎn)換為p12證書(證書和密碼)

有了上面兩個文件后開始簽名,簽名利用到的工具大多數(shù)都是mac,linux平臺的 mac平臺成本高,這也就是為什么現(xiàn)在的簽名大多數(shù)都是linux平臺,以下大概介紹window平臺下進行重簽名。

IPA重新簽名原理本質(zhì)是利用蘋果根證書進行校驗開發(fā)者證書及利用證書加密,先要獲取到蘋果根證書 X509Certificate,再獲取開發(fā)者賬號證書

X509Certificate校驗證書和密碼,加載待簽名IPA包利用證書給每一個文件進行重新簽名。

重新簽名后得IPA包使用itms-services方式下載,就可以安裝到指定的UDID設備手機上了。


作者:一只懵逼的土撥鼠
鏈接:https://www.jianshu.com/p/95f579d0b445
來源:簡書
著作權歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權,非商業(yè)轉(zhuǎn)載請注明出處。

分享到:
標簽:IOS
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定