環(huán)境 5s iOS10.3.1系統(tǒng)
iOS10.3.1只能不完美越獄厅翔,也就是每次重啟后得重新越獄一下,但步驟很簡單搀突,公司正好有此測試機(jī)也就沒買其他設(shè)備刀闷,當(dāng)然8系統(tǒng)最好
1.下載熊貓助手,safari打開http://m.pandahelp.vip/regular
2.在通用里信任描述文件仰迁,這里也不在啰嗦
3.在助手里搜索g0blin RC2然后安裝
4.點(diǎn)擊jailbreak一鍵越獄甸昏,重啟后如果顯示jailbroke yo則代表越獄成功(第一個百分比小于60%點(diǎn)擊成功率更高,不成功就多試幾次)
5.如遇cydia無網(wǎng)絡(luò)連接徐许,可以手機(jī)下載pp助手施蜜,然后在里面搜索樂網(wǎng)app,打開全局?jǐn)r截雌隅,cydia即可聯(lián)網(wǎng)使用
6.如果不想通過pp助手管理文件翻默,則忽略此步驟,添加pp助手源澄步,然后安裝此源下 Apple File Conduit 2插件來解鎖系統(tǒng)文件(每次重啟后再次越獄都需要重新安裝一下此插件)
詳細(xì)教程地址 http://tieba.baidu.com/p/5546052733
然后準(zhǔn)備開始ssh連接冰蘑,這時(shí)候問題就來了,ssh怎么也是連接不上村缸,研究了一天才找到解決方法
在10.3.1系統(tǒng)下越獄后自帶dropbear插件祠肥,也是簡單的ssh連接,但是由于官方dropbear一bug梯皿,導(dǎo)致電腦無法通過ssh連接手機(jī)仇箱,所以只能按照其他人的dropbear
1.先卸載dropbear,openssh,openssl插件
2.添加插件源 http://cydia.ichitaso.com/test
3.然后安裝此源下的dropbear
4.搜索并安裝openssh 然后重啟手機(jī),再次越獄东羹,然后進(jìn)行ssh連接即可,以后每次重啟手機(jī)也就是重新越獄一次即可啥也不用做了
然后就可以正常愉快的連接ssh了
連接方法:
保持手機(jī)電腦同一局域網(wǎng)剂桥,查看手機(jī)wifi IP地址,密碼默認(rèn)為alpine 可以修改属提,手機(jī)默認(rèn)有兩個賬戶root,mobile密碼都是alpine
ssh root@192.168.0.106
ps -e 查看所有進(jìn)程 拿到進(jìn)程id 或者進(jìn)程名字
上圖即可拿到進(jìn)程的目錄权逗,用于砸殼使用
1.Clutch砸殼
2.dumpdecrypted砸殼
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執(zhí)行文件路徑
- 完成之后會在 當(dāng)前目錄生成砸殼后的文件
在iOS10上會報(bào)錯 Abort trap 6
直接 google 報(bào)錯信息
google iOS10 dumpdecrypted
在搜索到的內(nèi)容中篩選信息得出猜測
應(yīng)該是dumpdecrypted.dylib未簽名
解決方案使用 ldid 工具的 ldid -S dumpdecrypted.dylib 命令給 dumpdecrypted.dylib 簽名
得到砸殼后的可執(zhí)行文件使用scp拷貝到電腦上美尸,或者用pp助手等工具拷貝到電腦上
使用class-dump導(dǎo)出所有頭文件 ,下載地址 http://stevenygard.com/projects/class-dump/
下載之后將class-dump文件拷貝到/usr/local/bin/目錄里斟薇,這樣以后使用就可以直接用class-dump命令师坎,后面跟上參數(shù)
如果執(zhí)行失敗對class-dump添加執(zhí)行權(quán)限
chmod +x /usr/local/bin/class-dump文件
- 開始導(dǎo)出頭文件
class-dump 可執(zhí)行文件目錄 -sSH -o 輸出目錄
頭文件里的方法列表含有.m文件里的方法和變量和屬性,只是看不到實(shí)現(xiàn)而已堪滨,具體實(shí)現(xiàn)會在以后的文章里講到
附上class-dump參數(shù)說明
Usage: class-dump [options]
where options are:
-a show instance variable offsets
-A show implementation addresses
--arch choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
-C only display classes matching regular expression
-f find string in method name
-H generate header files in current directory, or directory specified with -o
-I sort classes, categories, and protocols by inheritance (overrides -s)
-o
output directory used for -H
-r recursively expand frameworks and fixed VM shared libraries
-s sort classes and categories by name
-S sort methods by name
-t suppress header in output, for testing
--list-arches list the arches in the file, then exit
--sdk-ios specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
--sdk-mac specify Mac OS X version (will look in /Developer/SDKs/MacOSX.sdk
--sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)