“董師傅,我碰到問題了!經朋友推薦在我的iPhone上安裝了iGotya來防止手機丟失,輸錯幾次密碼之後,然後發現短信全都不見了,只是顯示‘信息(-1)’,新短信也無法查看,怎麼才能找回我的短信啊?”
為了未雨綢缪,我安裝了iPhone防盜軟件iGotya,為了測試是否能夠防盜,我故意輸錯密碼,第一次不能進入手機,第二次可以進入手機, 但看不到任何APP,連設置也看不到,可以打電話,發短信。本來以為沒什麼,進入短信就傻了眼:我的短信全都不見了,只能在標題欄看到“信息(-1)”的 字樣。我以為是被iGotya鎖住的原因,鎖屏後再輸入正確的密碼,仍然看不到短信,這下徹底沒轍了。雖然我在iGotya設置了輸錯密碼超過10次就抹 掉數據,但我可以確定只輸錯過最多三四次。
而且我發現,在這個狀態下如果收到新短信,進入“短信”後就消失,無法保存,只會顯示有未讀短信,但是始終無法查看。
後來我經過一番探究,終於找到解決辦法!這個問題是因為短信相關文件的屬性中“所有者”被iGotya改成了root,而未獲取root權限的用戶就無法看到短信內容了。要解決這個問題,需要從Cydia安裝iFile——一款iOS平台上極為強大的文件浏覽器。
先從後台退出短信進程,再運行iFile,定位到“/var/mobile/Library/SMS”,找到sms.db-wal然後刪除之 (如圖)。然後將sms.db和sms.db-shm兩個文件的屬性中的“所有者”和“組”修改為“mobile”;訪問權限中,用戶設為“讀取,寫入, 執行”;組和全局設為“讀取,寫入”即可。
再把“/var/mobile/Library/SMS”文件夾下幾個文件夾的屬性所有者和組都從root改成mobile。最後將iFile後台退出,這時候不要打開短信!直接關機重啟,你就發現久違的短信回來了。
董師傅點評:
要完美恢復短信是有一個前提,就是要求短信的數據庫sms.db完好無損,如果丟失或者被覆蓋,那很不幸,短信沒救了。你可以看看以前在電腦上是否備份過,如果備份過,可以用iTools將以前備份的sms.db覆蓋回去。