s8620288 wrote:
而我猜之前不能的原因
可能是因為裡面的資料庫結構比較複雜
是因為Check Sum Error
iTunes把sms.db備份出來成為3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata
並把該檔資訊用Base64+Binary的編碼方式(真是搞剛...Orz..)
紀錄在iTunes備份檔目錄的Manifest.plist裡。
一旦更動過3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata內容,
用iTunes回復時"可能"無法通過Manifest.plist裡的檔案資訊紀錄,
發生Check Sum Error而無法還原。
目前沒有工具可以修正這個問題,讓更動過的檔案可以躲過iTunes的檢查,
所以要把簡訊改完再放回去,只有JB一途。
我將Manifest.plist解碼之後再用Base64 Decoder解開,
取出簡訊檔資訊的區段,看到的資料如下...
<key>3d0d7e5fb2ce288813306e4d4636395e047a3d28</key>
<dict>
<key>DataHash</key>
<data>
/fCHTTulYdIsACtYE5/hTnCvmcM=
</data>
<key>Domain</key>
<string>HomeDomain</string>
<key>FileLength</key>
<integer>122880</integer>
<key>Group ID</key>
<integer>501</integer>
<key>Mode</key>
<integer>438</integer>
<key>ModificationTime</key>
<date>2040-11-30T18:47:50Z</date>
<key>User ID</key>
<integer>501</integer>
</dict>
更動過簡訊檔之後,可能會造成DataHash,FileLength,ModificationTime的更動,
FileLength就還好,跟備份的簡訊檔大小一樣,
DataHash的值實在看不懂裡面寫了啥,
ModificationTime看起來也怪怪的,不知怎麼去換算...
如果有辦法將這兩個變數的邏輯變化找出來,
也許就有辦法將修改後的簡訊改成新的紀錄值寫回Manifest.plist,
躲過iTunes的檢查後回復到iPhone裡面。
目前看來最方便的一途就是JB了...
若不想JB的話,就是另一篇所言,
先JB-->放入修改後sms.db-->備份-->刷回不JB-->回復




























































































