我已经在https://superuser.com/questions/1389657/backup-access-sms-on-nokia-3310-3g-2017-from-linux-pc中写了一些内容;基本上,我正在尝试将诺基亚 3310 3G 上的 SMS 消息备份到 Ubuntu 18.04 PC 上;请注意,诺基亚 3310 (2017)的硬件片上系统和操作系统因版本而异:
\n\n\n\n\n片上系统/操作系统:
\n\n\n
\n- 联发科 MT6260 / 诺基亚系列 30+ (2G)
\n- 展讯SC7701B / Java驱动的智能功能操作系统(3G)
\n- 展讯SC9820A / 云操作系统(4G,中国移动)
\n
我有 3G,所以我有一个“智能功能操作系统”,显然是 KaiOS 的一个版本(KaiOS 和“智能功能操作系统”之间有什么区别吗?:KaiOS),显然是(KaiOS \xe2\x80\ x93 智能手机操作系统 | 黑客新闻) 是 Firefox OS 的一个分支。
\n\n当您在此手机上点击菜单 > 存储 > 创建备份 ( https://www.nokia.com/phones/en_int/support/nokia-3310-3g-user-guide/create-a-backup ) 时,它会生成一个文件夹其中包含文件,命名如下:
\n\n$ tree All-backup_01-01-2019_20-18-54\nAll-backup_01-01-2019_20-18-54\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ibphone_head.in\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 phonebook.ib\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 sms.ib\nRun Code Online (Sandbox Code Playgroud)\n\n我以前从未听说过.ib文件,我希望这里有人知道它们是什么。快速浏览一下,建议使用IB 文件扩展名 - 打开 .IB 文件(InterBase 数据库),但是我尝试将这些.ib文件与http://fbexport.sourceforge.net/fbexport.php “使用 Firebird 和 InterBase 数据库导出和导入数据的工具”一起使用,我得到:
Engine Code : 335544323\nEngine Message :\nfile ./All-backup_01-01-2019_20-18-54/phonebook.ib is not a valid database\nRun Code Online (Sandbox Code Playgroud)\n\n所以,不是这样的。
\n\n这是一个十六进制转储ibphone_head.in- 看起来这里没有个人识别信息:
$ hexdump -C All-backup_01-01-2019_20-18-54/ibphone_head.in \n00000000 00 00 00 00 41 00 6c 00 6c 00 2d 00 62 00 61 00 |....A.l.l.-.b.a.|\n00000010 63 00 6b 00 75 00 70 00 5f 00 30 00 31 00 2d 00 |c.k.u.p._.0.1.-.|\n00000020 30 00 31 00 2d 00 32 00 30 00 31 00 39 00 5f 00 |0.1.-.2.0.1.9._.|\n00000030 32 00 30 00 2d 00 31 00 38 00 2d 00 35 00 34 00 |2.0.-.1.8.-.5.4.|\n00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000100 00 00 00 00 45 00 3a 00 5c 00 42 00 61 00 63 00 |....E.:.\\.B.a.c.|\n00000110 6b 00 75 00 70 00 73 00 5c 00 41 00 6c 00 6c 00 |k.u.p.s.\\.A.l.l.|\n00000120 2d 00 62 00 61 00 63 00 6b 00 75 00 70 00 5f 00 |-.b.a.c.k.u.p._.|\n00000130 30 00 31 00 2d 00 30 00 31 00 2d 00 32 00 30 00 |0.1.-.0.1.-.2.0.|\n00000140 31 00 39 00 5f 00 32 00 30 00 2d 00 31 00 38 00 |1.9._.2.0.-.1.8.|\n00000150 2d 00 35 00 34 00 00 00 00 00 00 00 00 00 00 00 |-.5.4...........|\n00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000200 00 00 00 00 30 30 30 31 2e 30 30 30 30 33 00 00 |....0001.00003..|\n00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000230 00 00 00 00 00 00 6d 6d 69 6b 65 79 62 61 63 6b |......mmikeyback|\n00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n00000250 00 00 00 00 00 00 03 00 00 00 00 00 b0 cd 09 00 |................|\n00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n00000270 00 00 00 00 00 00 00 00 f3 dd 00 00 7e 2f 00 00 |............~/..|\n00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n000002c4\nRun Code Online (Sandbox Code Playgroud)\n\n因此,字符串似乎是用 2 个字节“宽字符”编码的;在大多数情况下,ibphone_head.in似乎只是对其包含/父文件夹的名称进行编码All-backup_01-01-2019_20-18-54。
这是电话簿的十六进制转储,其中我将姓名匿名化为 AAAAAAAAA 和 BBB:
\n\n$ hexdump -C -n 1900 All-backup_01-01-2019_20-18-54/phonebook.ib\n00000000 70 00 68 00 6f 00 6e 00 65 00 62 00 6f 00 6f 00 |p.h.o.n.e.b.o.o.|\n00000010 6b 00 2e 00 69 00 62 00 00 00 00 00 00 00 00 00 |k...i.b.........|\n00000020 00 00 00 00 01 00 00 00 30 f8 04 00 62 01 00 00 |........0...b...|\n00000030 62 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |b...............|\n00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000240 00 00 00 00 98 03 00 00 01 00 00 00 ff ff ff ff |................|\n00000250 ff ff ff ff 01 00 01 00 00 00 00 00 00 00 00 00 |................|\n00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000360 d9 d4 37 46 00 00 00 00 00 00 01 02 00 00 04 01 |..7F............|\n00000370 07 12 80 88 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n00000380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n000003b0 09 00 41 00 41 00 41 00 41 00 41 00 41 00 41 00 |..A.A.A.A.A.A.A.|\n000003c0 41 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 |A.A.............|\n000003d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n000005e0 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff |................|\n000005f0 ff ff ff ff 98 03 00 00 01 00 00 00 ff ff ff ff |................|\n00000600 ff ff ff ff 04 00 01 00 00 00 00 00 00 00 00 00 |................|\n00000610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000710 d9 d4 37 46 00 00 00 00 00 00 01 02 00 00 06 11 |..7F............|\n00000720 83 29 23 13 58 f9 00 00 00 00 00 00 00 00 00 00 |.)#.X...........|\n00000730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|\n*\n00000760 03 00 42 00 42 00 42 00 00 00 00 00 |..B.B.B.....|\n0000076c\nRun Code Online (Sandbox Code Playgroud)\n\n这里似乎d9 d4 37 46是条目的分隔符,条目之间的间隔似乎是 0x3b0 = 944 字节;但无法得知实际电话号码存储在哪里。
我不会粘贴 的十六进制转储内容sms.ib,因为我担心泄露比我打算透露的更多的个人信息。
但是,也许已经发布的内容可以帮助某人查看这是否是已经建立的文件格式?无论如何,我想将这些文件的内容转换为纯文本......
\n小智 6
这phonebook.ib是一种专有文件格式。我做了一些分析,并达到了能够从中提取姓名和电话号码的程度。
在我的示例文件中,所有条目均为 940 字节,因此94 03前两个字节为。我在不同偏移量处识别的其他字段条目:
10),则电话号码以 开头+。123456将显示为21 43 65. 特殊数字:
a是*b是#f被忽略(当位数不是偶数时被视为最后一位数字)。以您的代码片段为例:
0因此没有+前缀。07 12 80 88翻译为70210888.可以在我的存储库中找到一个简单的参考解析器:https ://github.com/yossigo/phonebook_ib_export
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |