iOS應用指令碼重簽名

2021-09-11 15:07:08 字數 1684 閱讀 2457

越獄手機匯出

xcode打包 等等

檢視可執行檔案的簽名資訊:

輸入:security find-identity -v -p codesigning

檢視mac本地的證書列表:

記下你要用來簽名的證書雙引號(包括雙引號)中的字串,一會兒會用到

otool -l wechat | grep crypt

會輸出:

cryptid為0即為已脫殼,為1為加密狀態。這裡有兩組資料是因為這是個支援兩種cpu架構的可執行檔案,可輸入file wechat檢視可執行檔案支援的架構:

刪除無法簽名的外掛程式檔案:plugins資料夾、watc**件夾

注意不要遺漏,每乙個framework都要用自己的證書重簽一下

...

...複製**

複製貼上到剛剛新建的entitlements.plist檔案中

簽名成功!

打包:zip -ry weichat.ipa payload

以上,就是通過命令列一步步的實現應用重簽名。

現在我就按照這個思路寫指令碼:

#$ 它是工程檔案所在的目錄

temp_path="$/temp"

#目標ipa包路徑

target_ipa_path="$/*.ipa"

#清空temp資料夾

rm -rf "$/temp"

mkdir -p "$/temp"

#----------------------------------------

# 1. 解壓ipa到temp下

unzip -oqq "$target_ipa_path"

-d"$temp_path"

"$1")

#----------------------------------------

# target_name target名稱

echo

#----------------------------------------

#----------------------------------------

# 4. 更新info.plist檔案 cfbundleidentifier

# 設定:"set : key value" "目標檔案路徑"

/usr/libexec/plistbuddy -c "set :cfbundleidentifier $product_bundle_identifier"

#----------------------------------------

# 5. 給macho檔案上執行許可權

# 拿到macho檔案的路徑

#上可執行許可權

#----------------------------------------

# 6. 重簽名第三方 frameworks

if [ -d

then

for framework in

do#簽名

/usr/bin/codesign --force --sign "$expanded_code_sign_identity"

"$framework"

done

fi複製**

ios重簽名指令碼

get the root path rootpath cd dirname 0 pwd 可變引數區域 mobileprovision cert.mobileprovision ipapath 1.ipa 固定引數區域 outputdir output 解析描述檔案 certteamname usr ...

使用指令碼重簽名

其實不過是xcode簽名步驟在指令碼中進行了 在xcode中直接新增如下指令碼 srcroot 工程檔案所在的目錄 temp path temp 資源資料夾 ipa包路徑 target ipa path ipa 新建temp資料夾 rm rf temp mkdir p temp 1.解壓ipa到te...

iOS開發筆記 ipa重簽名

使用企業證書打包發布有一年的有效期,之前遇到使用乙個演示版本臨時改用的版本發布出去後隔很長一段時間突然說還用,證書都過期了,這樣的版本突然要維護也是無力吐槽,當時的 都沒了,想想證書過期的話重簽名一下就好了,簡單就學習了一下做個總結記錄 1.ipa解壓出包含payload的資料夾 3.cd到解壓出來...