shell腳本重簽名應(yīng)用

前言

在iOS逆向中當(dāng)我們可以使用Xcode的codesign簽名工具或者Xcode進(jìn)行應(yīng)用重簽名做修,但是這樣容易出錯(cuò)也比較麻煩跺嗽。我們可以通過shell腳本的形式對(duì)應(yīng)用進(jìn)行重簽名。

1.什么是shell腳本他能干什么

  • shell腳本我們可以理解為將指令預(yù)先放進(jìn)文件中杉畜,方便一次性執(zhí)行指令。下面我們使用shell腳本進(jìn)行iOS應(yīng)用的重簽名。

2.重簽名需要的步驟

執(zhí)行腳本步驟

  • 刪除插件和帶有插件的.app包(例如:PlugIns)
  • 對(duì)Frameworks里面的庫進(jìn)行重簽名
  • 給可執(zhí)行文件 +x(可執(zhí)行)權(quán)限
  • 添加描述文件(新建工程环肘,真機(jī)編譯得到)
  • 替換BundleID
  • 通過授權(quán)文件(Entilements)重簽.app包

注意:

  • 需要開發(fā)者賬號(hào)


    image.png
  • 在項(xiàng)目目錄創(chuàng)建APP文件夾,將簽名.ipa包放入APP文件夾中集灌。


    image.png
  • 真機(jī)編譯運(yùn)行執(zhí)行腳本(簽名成功腳本創(chuàng)建Temp文件夾)


    image.png
  • 最后將壓縮Payload文件得到zip包悔雹,更改ipa后綴即可

3.將我們簽名的步驟寫成腳本

# ${SRCROOT} 它是工程文件所在的目錄
TEMP_PATH="${SRCROOT}/Temp"
#資源文件夾,我們提前在工程目錄下新建一個(gè)APP文件夾欣喧,里面放ipa包
ASSETS_PATH="${SRCROOT}/APP"
#目標(biāo)ipa包路徑
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa"
#清空Temp文件夾
rm -rf "${SRCROOT}/Temp"
mkdir -p "${SRCROOT}/Temp"

#----------------------------------------
# 1. 解壓IPA到Temp下
unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH"
# 拿到解壓的臨時(shí)的APP的路徑
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")
# echo "路徑是:$TEMP_APP_PATH"

#----------------------------------------
# 2. 將解壓出來的.app拷貝進(jìn)入工程下
# BUILT_PRODUCTS_DIR 工程生成的APP包的路徑
# TARGET_NAME target名稱
TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app"
echo "app路徑:$TARGET_APP_PATH"

rm -rf "$TARGET_APP_PATH"
mkdir -p "$TARGET_APP_PATH"
cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH"

#----------------------------------------
# 3. 刪除extension和WatchAPP.個(gè)人證書沒法簽名Extention
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"

#----------------------------------------
# 4. 更新info.plist文件 CFBundleIdentifier
#  設(shè)置:"Set : KEY Value" "目標(biāo)文件路徑"
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"

#----------------------------------------
# 5. 給MachO文件上執(zhí)行權(quán)限
# 拿到MachO文件的路徑
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<`
#上可執(zhí)行權(quán)限
chmod +x "$TARGET_APP_PATH/$APP_BINARY"

#----------------------------------------
# 6. 重簽名第三方 FrameWorks
TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks"
if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ];
then
for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"*
do

#簽名
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK"
done
fi

4.如何執(zhí)行腳本

  • 通過 Xcode 的 Run Script


    image.png

    注:可以通過文件的形式執(zhí)行腳本腌零,將 # ${SRCROOT}/***.sh 腳本文件路徑寫到Run Script腳本輸入?yún)^(qū)域。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唆阿,一起剝皮案震驚了整個(gè)濱河市益涧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌驯鳖,老刑警劉巖闲询,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異浅辙,居然都是意外死亡扭弧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門记舆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寄狼,“玉大人,你說我怎么就攤上這事〔蠢ⅲ” “怎么了伊磺?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長删咱。 經(jīng)常有香客問我屑埋,道長,這世上最難降的妖魔是什么痰滋? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任摘能,我火速辦了婚禮,結(jié)果婚禮上敲街,老公的妹妹穿的比我還像新娘团搞。我一直安慰自己,他們只是感情好多艇,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布逻恐。 她就那樣靜靜地躺著,像睡著了一般峻黍。 火紅的嫁衣襯著肌膚如雪复隆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天姆涩,我揣著相機(jī)與錄音挽拂,去河邊找鬼。 笑死骨饿,一個(gè)胖子當(dāng)著我的面吹牛亏栈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宏赘,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼仑扑,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了置鼻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蜓竹,失蹤者是張志新(化名)和其女友劉穎箕母,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俱济,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘶是,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛛碌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聂喇。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出希太,到底是詐尸還是另有隱情克饶,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布誊辉,位于F島的核電站矾湃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏堕澄。R本人自食惡果不足惜邀跃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛙紫。 院中可真熱鬧拍屑,春花似錦、人聲如沸坑傅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裁蚁。三九已至矢渊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枉证,已是汗流浹背矮男。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留室谚,地道東北人毡鉴。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像秒赤,于是被迫代替她去往敵國和親猪瞬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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