ipa重簽名原理步驟

簽名以及驗(yàn)簽過(guò)程:

圖片1.png

ipa文件結(jié)構(gòu):

20200729173726122.png
  • _CodeSignature目錄里是一個(gè)無(wú)后綴的plist文件,里面存放的是.app中除可執(zhí)行文件外所有文件(非目錄)的hash值茧吊。
  • embeded.mobileprovision文件就是打包時(shí)的pp文件(appstore下載的無(wú)此文件)
  • MachO文件就是可執(zhí)行文件笛谦,里面包含了自己的簽名型雳。
    *archived-expanded-entitlements.xcent:權(quán)限配置文件
  • Frameworks(目錄):用于存放用戶級(jí)別的 Framework(Static Framework / Embedded Framework)
    iOS 默認(rèn)內(nèi)置了系統(tǒng)級(jí)別的 Framework(Dynamic Framework)奕锌,在項(xiàng)目中使用系統(tǒng)自帶的 Framework 時(shí),實(shí)際上是保存對(duì)系統(tǒng)級(jí)別的 Framework 的引用逞刷。因此嘉涌,在項(xiàng)目打包時(shí),系統(tǒng)級(jí)別的 Framework(Dynamic Framework)不需要拷貝到 .app 中
    因?yàn)槊總€(gè) Framework 其實(shí)就是一個(gè) App夸浅,所以 .framework 的結(jié)構(gòu)類似于 .app 的基礎(chǔ)結(jié)構(gòu)仑最,有:
    ① 存放簽名信息的 _CodeSignature 目錄
    ② Info.plist 文件
    ③ 與 Framework 同名的可執(zhí)行文件
    ④ SC_Info 目錄
    因?yàn)?Frameworks 目錄下的每一個(gè) Framework 都有自己獨(dú)立的簽名信息
    所以在進(jìn)行 iOS App 重簽名時(shí),需要對(duì) Frameworks 目錄下的每一個(gè) Framework 都進(jìn)行強(qiáng)制重簽名
  • Bundle文件:一般是第三方資源
  • Plugins(目錄)
    用于保存插件题篷,無(wú)法對(duì)此目錄進(jìn)行重簽名词身,因此 App 重簽名時(shí)需要?jiǎng)h除此目錄(或者刪除此目錄下的所有文件)
  • Assets.car
    項(xiàng)目中所有 .xcassets 打包后生成的一個(gè)壓縮包(注意:.xcassets 中的 AppIcon 和 LaunchImage 不會(huì)參與 Assets.car 的打包,而是直接放在 .app 包中 )
    可以通過(guò) github 上的開(kāi)源工具 cartool 解壓查看 Assets.car 里面的內(nèi)容
  • Info.plist(文件):iOS 系統(tǒng)讀取該文件番枚,并獲取 App 的配置信息
  • PkgInfo(文件)
    存儲(chǔ)包信息的文件(包的 8 字節(jié)標(biāo)識(shí)符法严,APPL = Application)
  • lproj(文件)
    Localized Project Folder,包含用于支持 iOS / macOS 中 App 的單種語(yǔ)言的文本文件和其他資源文件(可能包含 .strings 和 .nib 文件)
  • SC_Info(目錄)
    包含 appname.sinf 和 appname.supp 兩個(gè)文件:
    ① .sinf 為 metadata 文件
    ② .supp 為解密可執(zhí)行文件的密鑰
  1. app的簽名包含兩部分:代碼文件的簽名直接在Mach-O文件內(nèi)部葫笼;其它文件的簽名在_CodeSignature目錄中的CodeResources文件中深啤。不可往此目錄寫(xiě)入數(shù)據(jù)
  2. 因?yàn)槟夸洸粎⑴c簽名,所以重簽名后可以在.app內(nèi)放目錄存放資源路星。

重簽名過(guò)程

  • 刪除插件溯街,因?yàn)闊o(wú)法對(duì)插件目錄Pluigin重簽名。
  • 對(duì)FrameWorks進(jìn)行簽名
  • 給可執(zhí)行文件執(zhí)行權(quán)限
  • 拷貝描述文件
  • 修改info.plist中的Bundle ID
  • 生成plist權(quán)限文件
  • 簽名整個(gè)APP
  • 生成ipa包
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洋丐,一起剝皮案震驚了整個(gè)濱河市呈昔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌友绝,老刑警劉巖堤尾,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異迁客,居然都是意外死亡郭宝,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)掷漱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)粘室,“玉大人,你說(shuō)我怎么就攤上這事卜范∠瓮常” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵海雪,是天一觀的道長(zhǎng)锦爵。 經(jīng)常有香客問(wèn)我,道長(zhǎng)喳魏,這世上最難降的妖魔是什么棉浸? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮刺彩,結(jié)果婚禮上迷郑,老公的妹妹穿的比我還像新娘。我一直安慰自己创倔,他們只是感情好嗡害,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著畦攘,像睡著了一般霸妹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上知押,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天叹螟,我揣著相機(jī)與錄音鹃骂,去河邊找鬼。 笑死罢绽,一個(gè)胖子當(dāng)著我的面吹牛畏线,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播良价,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寝殴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了明垢?” 一聲冷哼從身側(cè)響起蚣常,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痊银,沒(méi)想到半個(gè)月后抵蚊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曼验,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年泌射,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鬓照。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熔酷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豺裆,到底是詐尸還是另有隱情拒秘,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布臭猜,位于F島的核電站躺酒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蔑歌。R本人自食惡果不足惜羹应,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望次屠。 院中可真熱鬧园匹,春花似錦、人聲如沸劫灶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)本昏。三九已至供汛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怔昨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工雀久, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朱监。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓岸啡,卻偏偏與公主長(zhǎng)得像原叮,于是被迫代替她去往敵國(guó)和親赫编。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • ipa重簽名是指對(duì)已經(jīng)打包好的ipa奋隶,利用新的證書(shū)重新簽名擂送。 ipa重簽名作用: 作用一:有時(shí)候公司在進(jìn)行軟件開(kāi)發(fā)...
    coder_zhengyi閱讀 6,510評(píng)論 1 11
  • 前言 以前想獲取應(yīng)用的 .ipa 文件可以從 iTunes 下載,macOS 上的 iTunes 升級(jí)成 12....
    iOSugarCom閱讀 4,932評(píng)論 0 2
  • 一 開(kāi)發(fā)者調(diào)試安裝app到手機(jī)的簽名過(guò)程 Mac電腦生成公鑰M和私鑰M 公鑰M傳給蘋(píng)果服務(wù)器唯欣,蘋(píng)果服務(wù)器的私鑰A對(duì)...
    meryin閱讀 8,391評(píng)論 5 16
  • 砸殼以后,導(dǎo)出可執(zhí)行文件嘹吨。 獲得齒輪文件在真機(jī)運(yùn)行后,在Xcode 中進(jìn)入Products文件夾中的xxx.app...
    MaShuai丨閱讀 789評(píng)論 0 0
  • 一境氢、IPA 的簡(jiǎn)單認(rèn)識(shí) 首先有一個(gè)這樣的 ipa 包文件: 直接修改文件后綴為:IPADev.zip, 然后解壓蟀拷,...
    CoderHG閱讀 14,255評(píng)論 0 30