這篇文章以目標(biāo)為: 得到解密的二進(jìn)制文件
1.準(zhǔn)備工作
首先要有一臺(tái)越獄設(shè)備,然后安裝插件:OpenSSH,Cycript商佛。
然后下載dumpdecrypted并解壓,cd 到文件所在位置课蔬,執(zhí)行make
命令悲伶,會(huì)生成一個(gè)dumpdecrypted.dylib
文件這就是我們等下砸殼所要用到的砸殼工具。
現(xiàn)在需要的東西已經(jīng)準(zhǔn)備好了翰意,接下來可以開始砸殼了木人!
2.開始砸殼
通過ssh連接到設(shè)備,默認(rèn)的密碼是:alpine
ssh root@設(shè)備的ip地址
運(yùn)行你要砸殼的應(yīng)用冀偶,通過命令你查看進(jìn)程醒第,執(zhí)行命令之后會(huì)顯示當(dāng)前運(yùn)行的所有進(jìn)程。找到想要砸殼的應(yīng)用進(jìn)程进鸠,記錄一下路徑和編號(hào)稠曼。
ps -e
再執(zhí)行命令進(jìn)入cycript,執(zhí)行之后命令行會(huì)以cy#
開頭
cycript -p 進(jìn)程編號(hào)
執(zhí)行命令客年,獲取沙盒路徑
[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
回去之后霞幅,我們可以通過 ctrl+d 退出cycript。以便接下來的操作量瓜。
現(xiàn)在我們得到了兩個(gè)路徑司恳,一個(gè)app的沙盒路徑,一個(gè)進(jìn)程的運(yùn)行路徑绍傲。接下來我們需要將砸殼的工具放到app的沙盒下抵赢。
可以通過scp命令進(jìn)行遠(yuǎn)程copy,由于當(dāng)前的這個(gè)命令行還要用唧取,所以用快捷鍵command+n
再開啟一個(gè)命令行窗口。用scp命令將dumpdecrypted.dylib
文件復(fù)制到到設(shè)備中划提。
scp dumpdecrypted路徑 root@設(shè)備的ip地址:App沙盒路徑
執(zhí)行之后會(huì)讓輸入密碼枫弟,輸入密碼開始上傳。
上傳成功之后鹏往,回到鏈接手機(jī)的命令行淡诗,cd到App的沙盒下
cd app沙盒路徑
先執(zhí)行下面的命令骇塘,防止遇到killed 9
的錯(cuò)誤
su mobile
可以查看下是否有dumpdecrypted.dylib
文件,如果有的話就執(zhí)行砸殼命令
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib App進(jìn)程路徑
命令執(zhí)行完成之后會(huì)得到.decrypted
文件韩容,這個(gè)就是砸殼后的文件款违。
同樣通過scp命令將脫殼之后的二進(jìn)制文件復(fù)制到電腦上
關(guān)于插件的破解,先要理解dumpdecrypted 的原理群凶。它的原理是:將應(yīng)用程序運(yùn)行起來(iOS系統(tǒng)會(huì)先解密程序再啟動(dòng))插爹,然后將內(nèi)存中的解密結(jié)果dump寫入文件中,得到一個(gè)新的可執(zhí)行程序请梢。 想要破解哪個(gè)應(yīng)用就在DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib App進(jìn)程路徑
把進(jìn)程對(duì)應(yīng)的路徑填寫進(jìn)去就行了赠尾。
雖然可以破解,但是我做的時(shí)候結(jié)果還是用不了 毅弧,控制臺(tái)的輸出為 "插件無效"气嫁,況且這個(gè)插件也不常用就懶得弄。