通过 iFile 修改短信内容
使用iFile打开sms.db,使用 "SQLite3 编辑器"
在数据表中点击表 message,默认升序排列,即新短信在最下面
找到需要修改的内容,记下相应 guid
返回数据表,点击右上的 "SQL"
在SQL语法中输入
update message set text = '修改的内容' where guid = 'F7638962-72D4-015C-1905-3110D4A72C26'
即可更新短信内容.
最后还需用iFile检查一下文件权限.
重启手机可查看。
通过 iFile 修改短信发件人号码
修改 chat 和 handle 两张表
如修改 95588 为 10010
打开 chat 查看,记下 SMS;-;95588
然后到SQL语法中输入
update chat set guid = 'SMS;-;10010', chat_identifier = '10010' where guid = 'SMS;-;95588'
执行后在输入
update handle set id = '10010', uncanonicalized_id = '10010' where id = '95588'
(如果修改的是 iMessage 不需要改 uncanonicalized_id)
执行后所有 95588 号码被改为 10010
重启手机可查看。
-----------
修改发件时间,参考网络资料 http://bbs.feng.com/read-htm-tid-7617722.html
1.发件时间,就是message表中,date这个字段。请注意,这个是整型数据,不是日期型数据。假如一条短信的收件时间是2014/02/02 18:35,那么date的值,就是2001/01/01 08:00 距离 2014/02/02 18:35的秒数。例如你想把收件日期提前一天,那么就把date减去24*60*60吧。。。
2.在电脑中修改,需要先用iFile打开sms.db,执行PRAGMA wal_checkpoint这句sql语句(至于为什么需要执行这句sql语句,有兴趣的可以问问度娘“sqlite3 wal模式”)。然后在电脑中用SQLite Expert Professional打开sms.db,检查一下sms.db数据库里面的文件,和手机收件箱里的短信是否一致。如果一致,可以删除sms.db-shm,sms.db-wal这两个文件,把sms.db拖到电脑上,修改之后替换掉原来的sms.db,重启手机即可。
-----------
其它相关,iPhone短信回收站,转载于http://www.cnbeta.com/articles/203042.htm
1. 通过OpenSSH登录到iPhone.
2. cd /var/mobile/Library/SMS 命令定位到目录
3. sqlite3 sms.db - 运行SQLite命令.
4. 执行以下SQLs,然后退出并重启。
CREATE TABLE message_backup (ROWID INTEGER, address TEXT, date INTEGER, text TEXT, flags INTEGER, replace INTEGER, svc_center TEXT, group_id INTEGER, association_id INTEGER, height INTEGER, UIFlags INTEGER, version INTEGER, subject TEXT, country TEXT, headers BLOB, recipients BLOB, read INTEGER, dateupdated DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP);
CREATE TRIGGER delete_message_but_backup AFTER DELETE ON message BEGIN INSERT INTO message_backup(ROWID, address, date, text, flags, replace, svc_center, group_id, association_id, height, UIFlags, version, subject, country, headers, recipients, read) VALUES(old.ROWID, old.address, old.date, old.text, old.flags, old.replace, old.svc_center, old.group_id, old.association_id, old.height, old.UIFlags, old.version, old.subject, old.country, old.headers, old.recipients, old.read); END;
.quit
reboot
误删短信后可以通过“SELECT * FROM message_backup”找回,还可以用 '.mode'和'.output'命令生成本文导出。
(Copyright 2012 Will Shen)