iOS Hacker 重签名实现无需越狱注入动态库 dylib
iOS Hacker 重簽名實現無需越獄注入動態庫 dylib
一、獲取 ipa 文件
iOS 的應用都是打包成 ipa 的文件格式,ipa 文件實際上就是 zip 格式的文件,通過 unzip 可以解壓,和安卓下的 apk 包類似。App Store 下載完應用,就把 ipa 解壓到某個目錄,然后把 ipa 刪除,那么我們如何獲取 ipa 文件呢?
可以通過 iTunes 安裝來獲取 ipa 文件,在 iTunes 上安裝應用會保存在 ~/Music/iTunes/iTunes Media/Mobile Applications 目錄,只需要將文件復制出來就可以了,如圖:
目錄:~/Music/iTunes/iTunes Media/Mobile Applications
二、脫殼
由于是從 App Store 下載的 ipa 文件,所以是加殼的,得去掉殼才能干活,去殼的方法可以參考:http://blog.csdn.net/sysprogram/article/details/72887473
三、注入動態庫 dylib
注入動態庫的方法可以參考我的第二種方法,添加 LoadCommand
http://blog.csdn.net/sysprogram/article/details/75579301
四、重簽名并打包
主要就是重簽名并打包了,這點是比較坑的地方,很多人在這一步遇到問題。簽名是蘋果的一套安全機制,這套東西阻止了程序在 iOS 設備上運行,如果要發布程序,首先得去蘋果的開發者中心里生成配置文件(Provisioning profile),這個配置文件標識了哪些設備能運行你的應用,這就是為什么要在開發者中心要添加設備的 UDID 的原因了,如果你的配置文件是發布 App Store 的類型的,那么簽名機制就不會檢測設備的 UDID,但如果選擇了App Store 的類型的配置文件,有可能你設備上安裝不了重簽名的應用,因為重簽名的應用一般上架不了 App Store,只能使用 iTunes 或 Xcode 等一些工具安裝。
這讓我們想起了蘋果開發者的三種類型,一種是個人(99),一種是公司(99),還有一種是企業(299$),蘋果官方的說明:https://developer.apple.com/support/compare-memberships/,個人和公司類型主要是用于上架 App Store 的,而企業不能上架 App Store ,主要用于分發給企業內部使用,我懷疑如果是企業類型的證書,有可能無需添加 UDID 也能運行,但是手上沒有企業證書,所以還驗證不了。
為了方便,我們可以使用開源工具 iOS App Signer,這個工程可以自動搜索本機的證書和配置文件,源碼地址:https://github.com/DanTheMan827/ios-app-signer
源碼如果編譯不過,可以下載編譯好的程序,地址:https://github.com/DanTheMan827/ios-app-signer/releases/download/1.9/iOS.App.Signer.app.zip
選擇好解壓的應用.app,然后選擇好證書和相應的配置文件(Provisioning profile),點擊開始就會自動打包生成 ipa 文件了。
五、安裝
安裝方法可以使用 iTunes 或 Xcode。
使用 iTunes 安裝,插上你的手機,信任之后點擊應用,選擇 iTunes 的菜單 文件 -> 添加到資料庫,選擇好你打包好的 ipa 文件,在應用列表里就會顯示出來,點擊同步就可以了。
使用 Xcode 安裝,點擊 Xcode 的菜單 Window -> Devices,在 Devices 的界面里選擇手機,點 + 號,選擇你打包好的 ipa 文件就行了。
總結
以上是生活随笔為你收集整理的iOS Hacker 重签名实现无需越狱注入动态库 dylib的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS Hacker 反注入和反反注入
- 下一篇: macOS zip 打包加密和 unzi