2月16日晚,CTF學習交流群裡突然各位師傅說發現個整人的特殊字符,發出去,就會影響iPhone和Mac用戶的QQ,導致無法打開,閃退的情況。
本著好奇,發現又是之前給我發過備忘錄bug poc的師傅,聯繫後,想著體現一波QQ閃退,然而主界面收到師傅消息通知的我,發現手機自動重啟了。等到開機後卻發現又自動重啟了,然後發現無限重啟了,真是刺激。
在各種折騰後終於停了下來,查看了crash記錄,發現果然是SpringBoard崩潰了,然後後臺在不停的重新啟動,而iOS的機制又迫使SpringBoard恢復到崩潰之前的狀態,於是乎,就造成了不斷重啟的效果。
然後,調試了下,發現是底層字體渲染時計算排版裡調用objc_msgSend傳入x0指向了不可訪問區,然後crash了,所以是底層CoreText在渲染字體時出的問題。
因為是底層的問題,所以就導致了使用App閃退,並且也可導致手機重啟的現象。(因為不斷重啟,整到快1點,也真是鬱悶了。。)
解決也同樣簡單,下面貼了適用於iOS 11.0 ~ 11.1.2手機的ipa安裝包,下載後使用cydia impactor進行安裝,輸入AppleID帳號密碼即可正常安裝,運行後看到「修復完畢「即可解決閃退bug.
ipa安裝包:https://pan.baidu.com/s/1ggT3t0R 密碼:iu4s
比心~