iOS逆向之自動(dòng)化重簽名

iOS逆向之自動(dòng)化重簽名

準(zhǔn)備工作

  • 非越獄的iPhone手機(jī)
  • 用PP助手下載: 微信6.6.5(越獄應(yīng)用)

步驟

  1. 新建工程"自動(dòng)化簽名",在工程目錄下新建APP文件夾放置需要重簽名的ipa包
  2. 在Build Phases中添加腳本


    image.png

    image.png

寫入如下腳本:


# ${SRCROOT} 為工程文件所在的目錄
TEMP_PATH="${SRCROOT}/Temp"
#資源文件夾,放三方APP的
ASSETS_PATH="${SRCROOT}/APP"
#ipa包路徑
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa"



#新建Temp文件夾
rm -rf "$TEMP_PATH"
mkdir -p "$TEMP_PATH"

# --------------------------------------
# 1. 解壓IPA 到Temp下
unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH"
# 拿到解壓的臨時(shí)APP的路徑
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")
# 這里顯示打印一下 TEMP_APP_PATH變量
echo "TEMP_APP_PATH: $TEMP_APP_PATH"

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

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

# -------------------------------------
# 3. 為了是重簽過程簡(jiǎn)化痢站,移走extension和watchAPP. 此外個(gè)人免費(fèi)的證書沒辦法簽extension

echo "Removing AppExtensions"
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"

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

# 5.給可執(zhí)行文件上權(quán)限
#添加ipa二進(jìn)制的執(zhí)行權(quán)限,否則xcode會(huì)告知無法運(yùn)行
#這個(gè)操作是要找到第三方app包里的可執(zhí)行文件名稱荸频,因?yàn)閕nfo.plist的 'Executable file' key對(duì)應(yīng)的是可執(zhí)行文件的名稱
#我們grep 一下,然后取最后一行, 然后以cut 命令分割,取出想要的關(guān)鍵信息患蹂。存到APP_BINARY變量里
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<`


#這個(gè)為二進(jìn)制文件加上可執(zhí)行權(quán)限 +X
chmod +x "$TARGET_APP_PATH/$APP_BINARY"



# -------------------------------------
# 6. 重簽第三方app Frameworks下已存在的動(dòng)態(tài)庫(kù)
TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks"
if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ];
then
#遍歷出所有動(dòng)態(tài)庫(kù)的路徑
for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"*
do
echo "????????????FRAMEWORK : $FRAMEWORK"
#簽名
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK"
done
fi
  1. 重簽名
  • 將越獄應(yīng)用放到APP文件夾
  • Xcode真機(jī)運(yùn)行就可以安裝應(yīng)用了
image.png

重簽名原理請(qǐng)參考下列文章:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子骂束,更是在濱河造成了極大的恐慌,老刑警劉巖成箫,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件展箱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蹬昌,警方通過查閱死者的電腦和手機(jī)混驰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皂贩,“玉大人栖榨,你說我怎么就攤上這事∶魉ⅲ” “怎么了婴栽?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辈末。 經(jīng)常有香客問我愚争,道長(zhǎng),這世上最難降的妖魔是什么挤聘? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任轰枝,我火速辦了婚禮,結(jié)果婚禮上组去,老公的妹妹穿的比我還像新娘鞍陨。我一直安慰自己,他們只是感情好从隆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布诚撵。 她就那樣靜靜地躺著缭裆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砾脑。 梳的紋絲不亂的頭發(fā)上幼驶,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音韧衣,去河邊找鬼盅藻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛畅铭,可吹牛的內(nèi)容都是我干的氏淑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼硕噩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼假残!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起炉擅,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤辉懒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后谍失,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眶俩,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年快鱼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颠印。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抹竹,死狀恐怖线罕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窃判,我是刑警寧澤钞楼,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站袄琳,受9級(jí)特大地震影響窿凤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜跨蟹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望橘沥。 院中可真熱鬧窗轩,春花似錦、人聲如沸座咆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至堤舒,卻和暖如春色建,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舌缤。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工箕戳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人国撵。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓陵吸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親介牙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壮虫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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

  • 偶然發(fā)現(xiàn),用過一些框都,分享給大家 { "XcodeChaJian": [ { "Dname":"...
    MonkeyHan閱讀 6,503評(píng)論 0 4
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評(píng)論 25 707
  • 打卡累計(jì)天數(shù):37/90 #宣言(只有感覺好才能做得好)# 孩子第一個(gè)30天目標(biāo): 從晚上10:00睡覺過度到8:...
    lijutong_010閱讀 324評(píng)論 1 2
  • 為什么沒有人揭開我的面具搬素。表面上積極正能量隨時(shí)隨地都能笑得像個(gè)二傻子,內(nèi)心很多時(shí)候都想突然悄無聲息地從這個(gè)世界消失掉魏保。
    鹿公紙閱讀 207評(píng)論 0 0