逆向?qū)W習(xí)筆記9——代碼重簽名

前面花了大量的時間學(xué)習(xí)一些逆向的基礎(chǔ)的東西,有些地方確實有點枯燥乏味,接下來玩點兒有意思的通今,將從越獄市場下載下來的ipa包,通過重簽名安裝到自己未越獄的手機上肛根。

注意:當(dāng)你在重簽名的app上玩的時候辫塌,建議用小號,據(jù)說有些大的公司會對此進行查處派哲,拉黑封號臼氨。

關(guān)于代碼重簽下面講三種方式:手動重簽xcode重簽芭届, 腳本自動化重簽储矩。

準備工作,用PP助手或者其他方式從越獄市場下載個ipa包褂乍,新建一個為demo的項目并選擇好相應(yīng)的真機調(diào)試證書)

1持隧、手動重簽

  • 1.1刪除掉app包里面Plugins,Watch 兩個文件夾!
  • 1.2對 Frameworks 文件夾里面framework的進行一一簽名!
codesign -fs "證書名稱" xxx.framework 
  • 1.3給可執(zhí)行文件執(zhí)行權(quán)限!
chmod +x xxx //xxx是app包中的可執(zhí)行文件
  • 1.4拷貝描述文件
編譯demo,從哪個demo.app包里面拿出描述文件逃片,并拷貝到當(dāng)前app包里面
  • 1.5修改app保重的info.plist 的Bundle ID!
這里面的Bundle ID要和demo里面的證書相匹配
  • 1.6生成plist的權(quán)限文件
//利用下面命令屡拨,拿到描述文件中的權(quán)限
security cms -D -i 描述文件路徑
image.png

將這部分拿出來,并新建test.plist并將其保存,放在當(dāng)前app的同一個目錄

  • 1.7簽名整個APP!
$codesign -fs "證書"  --no-strict --entitlements=test.plist xxx.app
  • 1.8打包其實就是一個zip
$zip -ry xxx.ipa Payload
  • 1.9一切準備就緒之后洁仗,通過xcode安裝
image.png

2层皱、xcode重簽

  • 2.1新建項目,選擇好相應(yīng)的證書并選擇真機編譯
  • 2.2替換APP包
 將新建項目Debug-iphoneos文件下的app包替換成越獄市場的app包
  • 2.3刪除掉app包里面Plugins,Watch 兩個文件夾!
  • 2.4修改app保重的info.plist 的Bundle ID!
  • 2.5給可執(zhí)行文件執(zhí)行權(quán)限! chmod +x xxx //xxx是app包中的可執(zhí)行文件

檢查上面步驟赠潦,確認無誤后叫胖,運行到真機即可

3、腳本自動化重簽

準備工作:新建demo她奥,并在.xcodeproj文件同級目錄創(chuàng)建APP文件夾瓮增,將ipa包放進APP文件夾中

# ${SRCROOT} 它是工程文件所在的目錄
TEMP_PATH="${SRCROOT}/Temp"
#資源文件夾
ASSETS_PATH="${SRCROOT}/APP"
#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"
# 拿到解壓的臨時的APP的路徑
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")
# echo "路徑是:$TEMP_APP_PATH"


#----------------------------------------
# 2. 將解壓出來的.app拷貝進入工程下
# 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.個人證書沒法簽名Extention
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"



#----------------------------------------
# 4. 更新info.plist文件 CFBundleIdentifier
#  設(shè)置:"Set : KEY Value" "目標文件路徑"
/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

將上述腳本放進Build PhasesRun Script中,運行即可哩俭。

當(dāng)然绷跑,這樣弄不方便,你也可以新建一個.sh的文件凡资。每次添加這個文件路徑就好了

幾個常用命令

  • 查看本機中所有證書
$security find-identity -v -p codesigning
  • 查看可執(zhí)行文件的加密信息!
$otool -l 可執(zhí)行文件路徑 | grep crypt 
  • 查看描述文件信息:
$security cms -D -i 描述文件路徑
  • 簽名
$codesign -fs "證書" 需要簽名的文件
  • 查看APP的簽名信息
$codesign -vv -d APP路徑
  • 給app中包可執(zhí)行文件執(zhí)行權(quán)限
 $chmod +x xxx
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末砸捏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隙赁,更是在濱河造成了極大的恐慌垦藏,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伞访,死亡現(xiàn)場離奇詭異掂骏,居然都是意外死亡,警方通過查閱死者的電腦和手機厚掷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門弟灼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冒黑,你說我怎么就攤上這事田绑。” “怎么了薛闪?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵辛馆,是天一觀的道長。 經(jīng)常有香客問我豁延,道長昙篙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任诱咏,我火速辦了婚禮苔可,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袋狞。我一直安慰自己焚辅,他們只是感情好映屋,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著同蜻,像睡著了一般棚点。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上湾蔓,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天瘫析,我揣著相機與錄音,去河邊找鬼默责。 笑死贬循,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桃序。 我是一名探鬼主播杖虾,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼媒熊!你這毒婦竟也來了奇适?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芦鳍,失蹤者是張志新(化名)和其女友劉穎滤愕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怜校,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年注竿,在試婚紗的時候發(fā)現(xiàn)自己被綠了茄茁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡巩割,死狀恐怖裙顽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宣谈,我是刑警寧澤愈犹,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站闻丑,受9級特大地震影響漩怎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嗦嗡,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一勋锤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侥祭,春花似錦叁执、人聲如沸茄厘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽次哈。三九已至,卻和暖如春吆录,著一層夾襖步出監(jiān)牢的瞬間窑滞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工径筏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葛假,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓滋恬,卻偏偏與公主長得像聊训,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恢氯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355