很久沒(méi)有發(fā)文章了押袍,最近沉迷逆向無(wú)法自拔诵冒,開(kāi)始寫(xiě)點(diǎn)東西做個(gè)小總結(jié)吧,后續(xù)慢慢更新吧谊惭,全當(dāng)記錄汽馋,共同學(xué)習(xí)。
方法一圈盔、frida
frida是一個(gè)利器惭蟋,除了砸殼還有很多作用,不僅在iOS上用處很大药磺,在Android上更加厲害告组,想進(jìn)一步了解的可以自行搜索研究。
步驟1癌佩、終端執(zhí)行命令安裝frida
sudo pip install frida? ? ?【這里是Python API binding】
sudo pip install frida-tools? 【這里是frida 命令行工具】
二者缺一不可木缝,這是2018年07月12日最新版本的frida上述方法已廢棄
pip3 install frida? ? ?【這里是Python API binding】
pip3 install frida-tools? 【這里是frida 命令行工具】
2020年8月24更新
步驟2、在大神這里下載砸殼的腳本围辙,然后cd到目錄中【前面鏈接是python2的腳本我碟,這里是大神python3的腳本】
【2020年8月24更新:直接用python3的腳本】
sudo pip install -r ./requirements.txt --upgrade 【這里是安裝腳本中依賴(lài)的庫(kù),./requirements.txt路徑根據(jù)自己的文件路徑修改】sudo pip install -r ./requirements.txt
如果你的設(shè)備連接密碼做了修改需要在目錄中的dump.py里面將Password改成你設(shè)置的密碼姚建。
步驟3矫俺、設(shè)置手機(jī)端口連接
iproxy 2222 22
步驟4、再打開(kāi)一個(gè)電腦命令行終端,新建一個(gè)文件夾厘托,cd進(jìn)去友雳,準(zhǔn)備接受要砸殼出來(lái)的iPA文件
步驟5、將dump.py腳本拖入命令行終端铅匹,在后面輸入要砸殼的App名稱(chēng)或者bundleID
./dump.py QQ? 【./dump.py路徑根據(jù)自己的文件路徑修改】
即可拿到砸殼出來(lái)的iPA文件了押赊。
【注:手機(jī)上需要砸殼的App要運(yùn)行起來(lái)】
另外一個(gè)大神這里有更加簡(jiǎn)便的方法,但是我沒(méi)來(lái)得及嘗試包斑,各位有興趣可以去研究研究流礁。
方法二、Clutch
Clutch是一個(gè)比較經(jīng)典的砸殼工具了罗丰,但是由于很多App都不能砸殼成功導(dǎo)致用戶(hù)逐漸減少神帅,但是也可以拿來(lái)一用。
步驟1萌抵、下載clutch源碼
步驟2找御、編譯工程生成clutch執(zhí)行文件
步驟3、將clutch執(zhí)行文件拷貝到手機(jī)里
可以使用命令
scp ./clutch【路徑視自己clutch路徑而定】 root@192.168.188.9:/usr/bin 【視自己手機(jī)IP而定】
或者直接使用第三方助手將clutch拖入到/usr/bin 路徑下
步驟4谜嫉、連接設(shè)備萎坷,cd到clutch路徑下
ssh root@192.168.188.9
cd /usr/bin
步驟5、查看手機(jī)上的App
clutch -i
步驟6沐兰、輸入app前面對(duì)應(yīng)的序號(hào)哆档,開(kāi)始砸殼
clutch -d 2
得到砸殼出來(lái)的iPA文件,導(dǎo)出到電腦上即可
方法三、dumpdecrypted
這個(gè)方法砸殼App不會(huì)生成iPA文件,生成的是decrypted后綴的文件椅棺。
步驟1、下載dumpdecrypted
步驟2插佛、終端輸入cd到下載的目錄,再輸入make得到dumpdecrypted.dylib文件
步驟3量窘、連接設(shè)備
ssh root@192.168.188.9
步驟4雇寇、尋找要砸殼的App
ps -e? 【得到所有手機(jī)運(yùn)行的app進(jìn)程】
得到路徑,先做保存蚌铜,之后有用
1890 ?? 0:14.42 /var/mobile/Containers/Bundle/Application/CBE24EFB-D045-4F10-ACB5-7E7B0794C5E9/WeChat.app/WeChat
步驟5锨侯、進(jìn)入到進(jìn)程中
cycript -p 1890
[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]? ??
/var/mobile/Containers/Data/Application/A28D18B7-37FF-43D9-B1F0-E6E0EAD5794A/Documents/
得到路徑,先做保存冬殃,之后有用
步驟6囚痴、退出手機(jī)連接,注入動(dòng)態(tài)庫(kù)
scp ./dumpdecrypted.dylib root@192.168.188.9:/var/mobile/Containers/Data/Application/A28D18B7-37FF-43D9-B1F0-E6E0EAD5794A/Documents/
第一個(gè)是dumpdecrypted.dylib路徑审葬,第二個(gè)是第二步得到的路徑
步驟7深滚、再次連接設(shè)備砸殼
ssh root@192.168.188.9
cd /var/mobile/Containers/Data/Application/A28D18B7-37FF-43D9-B1F0-E6E0EAD5794A/Documents/?
【cd 到第二步得到的路徑下】
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/CBE24EFB-D045-4F10-ACB5-7E7B0794C5E9/WeChat.app/WeChat?
【后面參數(shù)是第一步得到的路徑】
步驟8奕谭、導(dǎo)出得到的decrypted后綴文件
scp?root@192.168.188.9:/var/mobile/Containers/Data/Application/A28D18B7-37FF-43D9-B1F0-E6E0EAD5794A/Documents/WeChat.decrypted?/Users/bean/Desktop/decrypted
【第一個(gè)參數(shù)是第二步得到的路徑,第二個(gè)參數(shù)是電腦桌面路徑】
也可以使用第三方助手直接找到路徑導(dǎo)出
檢驗(yàn)一下自己的成果吧痴荐。
三種方式得到的文件血柳,均可使用終端輸入命令檢測(cè)
otool -l xxx 【得到的可執(zhí)行文件路徑】
三個(gè)砸殼方法各有優(yōu)劣,就目前來(lái)看frida更適合大多數(shù)的App蹬昌,但是環(huán)境集成也更加復(fù)雜混驰,工欲善其事攀隔,必先利其器皂贩,準(zhǔn)備功夫都是必要的。
菜鳥(niǎo)走向大牛昆汹,大家共同前進(jìn)明刷,如果覺(jué)得不錯(cuò),請(qǐng)給個(gè)贊/關(guān)注满粗。
一起交流學(xué)習(xí)辈末,有問(wèn)題隨時(shí)歡迎聯(lián)系,郵箱:383708669@qq.com