iOS 逆向開(kāi)發(fā)24:砸殼

iOS 逆向開(kāi)發(fā) 文章匯總

目錄


注意:Clutch、dumpdecrypted適用于完美越獄手機(jī)忘蟹,frida-iOS-dump可用于非完美越獄手機(jī)


一飒房、砸殼

軟件脫殼搁凸,顧名思義,就是對(duì)軟件加殼的逆操作狠毯,把軟件上存在的殼去掉(解密)坪仇。

  • 應(yīng)用加殼(加密)
    ??提交給Appstore發(fā)布的App,都經(jīng)過(guò)官方保護(hù)而加密垃你,這樣可以保證機(jī)器上跑的應(yīng)用是蘋(píng)果審核過(guò)的椅文,也可以管理軟件授權(quán)。經(jīng)過(guò)App Store加密的應(yīng)用惜颇,我們無(wú)法通過(guò)Hopper等反編譯靜態(tài)分析皆刺,也無(wú)法Class-Dump,在逆向分析過(guò)程中需要對(duì)加密的二進(jìn)制文件進(jìn)行解密才可以進(jìn)行靜態(tài)分析凌摄,這一過(guò)程就是大家熟知的砸殼(脫殼)

  • 應(yīng)用砸殼(解密)
    靜態(tài)砸殼
    ??靜態(tài)砸殼就是在已經(jīng)掌握和了解到了殼應(yīng)用的加密算法和邏輯后在不運(yùn)行殼應(yīng)用程序的前提下將殼應(yīng)用程序進(jìn)行解密處理羡蛾。靜態(tài)脫殼的方法難度大,而且加密方發(fā)現(xiàn)應(yīng)用被破解后就可能會(huì)改用更加高級(jí)和復(fù)雜的加密技術(shù)

    動(dòng)態(tài)砸殼
    ??動(dòng)態(tài)砸殼就是從運(yùn)行在進(jìn)程內(nèi)存空間中的可執(zhí)行程序映像(image)入手锨亏,將內(nèi)存中的內(nèi)容進(jìn)行轉(zhuǎn)儲(chǔ)(dump)處理來(lái)實(shí)現(xiàn)脫殼處理痴怨。這種方法實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單,且不必關(guān)心使用的是何種加密技術(shù)器予。

iOS應(yīng)用運(yùn)行原理


二浪藻、Clutch

Clutch是由KJCracks開(kāi)發(fā)的一款開(kāi)源砸殼工具。工具支持iPhone乾翔、iPod Touch爱葵、iPad,該工具需要使用iOS8.0以上的越獄手機(jī)應(yīng)用反浓。

Clutch安裝

官網(wǎng): https://github.com/KJCracks/Clutch

Clutch使用


三萌丈、dumpdecrypted

Github開(kāi)源工具。 dumpdecrypted這個(gè)工具就是通過(guò)建立一個(gè)名為dumpdecrypted.dylib的動(dòng)態(tài)庫(kù)雷则,插入目標(biāo)應(yīng)用實(shí)現(xiàn)脫殼辆雾。

安裝
官網(wǎng) :https://github.com/stefanesser/dumpdecrypted 直接Git Clone


四、向進(jìn)程中插入動(dòng)態(tài)庫(kù)

  • 創(chuàng)建InsertDemo項(xiàng)目并添加一個(gè)Inject Framework
  • Inject.framework拷貝到Temp文件夾月劈,參照上篇文章通過(guò)USB鏈接到手機(jī)

  • 將Inject.framework拷貝到手機(jī)

cd Temp
scp -r -P 12345 Inject.framework root@localhost:/var/root

// 切到連接手機(jī)的終端界面
// 查看Inject.framework是否拷貝到手機(jī)
ls
  • 找到InsertDemo的路徑
    ps -A | grep InsertDemo

  • Inject.framework插入到InsertDemo
    iOS9.1以后插入framework需要在mobile用戶角色操作度迂,否則會(huì)出現(xiàn)Killed:9錯(cuò)誤

//su mobile

DYLD_INSERT_LIBRARIES=Inject.framework/Inject /var/containers/Bundle/Application/7E8BE0F1-818A-4163-BD32-3D06AD600EB9/InsertDemo.app/InsertDemo

注意:非自己的APP如微信等通過(guò)以上方法不能插入。 dumpdecrypted這個(gè)工具就是通過(guò)這種原理進(jìn)行砸殼的艺栈。


五英岭、frida-iOS-dump

該工具基于frida提供的強(qiáng)大功能通過(guò)注入js實(shí)現(xiàn)內(nèi)存dump然后通過(guò)python自動(dòng)拷貝到電腦生成ipa文件湾盒。

安裝frida

sudo git clone https://github.com/AloneMonkey/frida-ios-dump
sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade
// 查看Mac進(jìn)程
frida-ps

// 查看手機(jī)進(jìn)程
frida-ps -U

// 進(jìn)入微信調(diào)試界面
frida -U 微信

frida-iOS 官方文檔

frida-ios-dump官網(wǎng)可以看到:
Run usbmuxd/iproxy SSH forwarding over USB (Default 2222 -> 22). e.g. iproxy 2222 22
因此通過(guò)USB連接需要映射的端口為2222湿右,或者可以修改dump.py中將映射的端口修改之前的12345。這里選擇修改dump.py文件罚勾。

使用dump.py砸殼

// USB連接手機(jī)----usbConnect.sh
cd /opt/python-client
python tcprelay.py -t 22:12345

// 砸殼-需打開(kāi)微信
cd /Users/ztkj/Desktop/Temp
dump.py 微信

// 獲取頭文件 - 解壓縮ipa包并將MachO文件拖出來(lái) (路徑中不能有中文)
class-dump -H WeChat -o WeChatHeaders/

注意:1毅人、dump.py中User吭狡、Password、Host丈莺、Port必須和USB鏈接手機(jī)時(shí)的一致划煮。
???2、由于/opt/MonkeyDev/bin/中有dump.pydump.js文件并且配置了相應(yīng)的環(huán)境變量缔俄,因此dump.py命令可以在任意目錄執(zhí)行弛秋。
???3、dump微信時(shí)俐载,微信必須在運(yùn)行狀態(tài)蟹略。


補(bǔ)充命令

  • 顯示當(dāng)前命令的路徑
    pwd

  • 清除終端連接手機(jī)時(shí)終端中的內(nèi)容(Command + K)
    clear,如果沒(méi)有這個(gè)命令遏佣,可使用Cydia安裝adv-cmds插件

  • 刪除文件
    rm -r 文件名

  • 移動(dòng)文件
    mv 文件 目標(biāo)路徑

  • 查看命令文件的路徑
    which dump.py

  • 查看可執(zhí)行文件是否加密
    otool -l WeChat | grep crypt

cryptid 為0 表示為加密挖炬,已被砸殼了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末状婶,一起剝皮案震驚了整個(gè)濱河市意敛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膛虫,老刑警劉巖草姻,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稍刀,居然都是意外死亡碴倾,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)掉丽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)跌榔,“玉大人,你說(shuō)我怎么就攤上這事捶障∩耄” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵项炼,是天一觀的道長(zhǎng)担平。 經(jīng)常有香客問(wèn)我,道長(zhǎng)锭部,這世上最難降的妖魔是什么暂论? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮拌禾,結(jié)果婚禮上取胎,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好闻蛀,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布匪傍。 她就那樣靜靜地躺著,像睡著了一般觉痛。 火紅的嫁衣襯著肌膚如雪役衡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天薪棒,我揣著相機(jī)與錄音手蝎,去河邊找鬼。 笑死俐芯,一個(gè)胖子當(dāng)著我的面吹牛柑船,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泼各,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鞍时,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了扣蜻?” 一聲冷哼從身側(cè)響起逆巍,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莽使,沒(méi)想到半個(gè)月后锐极,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芳肌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年灵再,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亿笤。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡翎迁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出净薛,到底是詐尸還是另有隱情汪榔,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布肃拜,位于F島的核電站痴腌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏燃领。R本人自食惡果不足惜士聪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望猛蔽。 院中可真熱鬧剥悟,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凉泄。三九已至躏尉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間后众,已是汗流浹背胀糜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蒂誉,地道東北人教藻。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像右锨,于是被迫代替她去往敵國(guó)和親括堤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • 軟件脫殼绍移,顧名思義悄窃,就是對(duì)軟件加殼的逆操作,把軟件上存在的殼去掉(解密)蹂窖。 砸殼原理 應(yīng)用加殼(加密)提交給App...
    帥駝駝閱讀 4,936評(píng)論 2 4
  • 《iOS底層原理文章匯總》[http://www.reibang.com/p/15af435341ce]上一篇文...
    一畝三分甜閱讀 2,326評(píng)論 0 1
  • 砸殼 軟件脫殼瞬测,顧名思義横媚,就是對(duì)軟件加殼的逆操作,把軟件上存在的殼去掉(解密)月趟。 砸殼原理 應(yīng)用加殼(加密)提交給...
    looha閱讀 1,294評(píng)論 0 2
  • 軟件脫殼灯蝴,顧名思義,就是對(duì)軟件加殼的逆操作孝宗,把軟件上存在的殼去掉(解密)绽乔。 砸殼原理 應(yīng)用加殼(加密)提交給App...
    鼬殿閱讀 899評(píng)論 0 0
  • 砸殼 1.Clutch下載release版本,復(fù)制到手機(jī)/usr/bin目錄.①.scp命令復(fù)制 scp -P ...
    Double丶K閱讀 608評(píng)論 0 0