foxmail 7.2.7.174
C:\foxmail7.2\Foxmail 7.2\Storage\[email protected]>dir
Volume in drive C has no label.
Volume Serial Number is 7EAB-5D96
Directory of C:\foxmail7.2\Foxmail 7.2\Storage\[email protected]
20/10/2023 20:44 <DIR> .
20/10/2023 20:44 <DIR> ..
20/10/2023 20:27 0 7_1.ver
20/10/2023 20:27 <DIR> Accounts
20/10/2023 20:27 <DIR> Address
20/10/2023 20:44 <DIR> alarm
20/10/2023 20:28 <DIR> AntiSpam
21/10/2023 15:45 <DIR> Boxes
20/10/2023 20:34 <DIR> CommintAttachs
20/10/2023 20:28 <DIR> Filter
20/10/2023 20:27 36 FMStorage.gid
20/10/2023 20:39 <DIR> Indexes
20/10/2023 20:39 <DIR> mailCalendar
20/10/2023 20:39 <DIR> mailExt
21/10/2023 15:45 <DIR> Mails
20/10/2023 20:28 <DIR> Mime
20/10/2023 20:28 <DIR> Remote
20/10/2023 20:28 <DIR> sync
20/10/2023 20:27 <DIR> Tags
boxes\对应foxmail 邮件箱中的 已发送、草稿等,格式一样,包含了发,收件人的信息,不包含邮件体。
Boxes\* 文件夹下的文件说明
文件的格式都是.BOX,每个账号下都有五个.BOX邮箱文件,它们的文件名分别是all,sent,spam,,它们所对应的Foxmail界面中的邮箱分别是收件箱,发件箱,已发送邮件箱,垃圾邮件箱,废件箱。在导入Foxmail邮件的时,包含了发送人,收件人信息,邮件标题和邮件体是空的。
Mails\对应了邮件体本身,包含标题和邮件内容
C:\foxmail7.2\Foxmail 7.2\Storage\[email protected]\Mails>dir
Volume in drive C has no label.
Volume Serial Number is 7EAB-5D96
Directory of C:\foxmail7.2\Foxmail 7.2\Storage\[email protected]\Mails
21/10/2023 15:45 <DIR> .
21/10/2023 15:45 <DIR> ..
21/10/2023 15:26 <DIR> 1
21/10/2023 15:27 <DIR> 2
21/10/2023 15:27 <DIR> 3
21/10/2023 15:27 <DIR> 4
21/10/2023 15:29 <DIR> 5
21/10/2023 15:33 <DIR> 6
21/10/2023 15:33 <DIR> 7
21/10/2023 15:45 <DIR> 8
21/10/2023 15:23 32 DeletedMails.dat
21/10/2023 15:26 4,096 idList
21/10/2023 15:33 4,096 Index
21/10/2023 15:22 16 Index.key
21/10/2023 15:22 77 mailHeadFile.log
DeletedMails.dat 当在foxmail 中彻底删除1封邮件后,其序号4被记录下来
Boxes\*文件夹
如收件箱,则对应sent.box两个文件
Mails\0\1文件夹
foxmail存储邮件内容的文件夹为Mails\, 对应发送邮件、接收、删除邮件体信息
idlist 文件夹数字列表
index是该文件夹的索引文件,以48位16进制代码开始,
index.key
========
第三行的最后几位应该用来标识邮件的记录数,从最后一位向前几位递增。
接下来的16位是第一封邮件的索引开始的位置,再下一16位开始的一位开始为索引ID,转换成十进制整数
数字子目录顺序
按顺序为1,2,3,4...,如果ID大于255,则第一位与第二位共同为ID,以次类推。
这里,每条索引起始位置处,索引ID应该是两位unsigned int型,接下来应该是4位unsigned long型的字段表示这封邮件在.box中的偏移位置。因为.box里每封邮件内容开始都以16位
10 10 10 10 10 10 10 11 11 11 11 11 11 53 0D 0A ; .............S..
分隔符开始,所以邮件的起始位置为上一封邮件结束位置加16(0Ah)位才是正确的位置。
再下一16位中的第三位用来表示邮件的状态,未读、已读等等,第五位表示被从收件箱中删除
该记录的最后一位应该也有其特殊的用途,继续分析
从第二封邮件开始以 c8 00 00 00 00 a8 03 00 00 02 00 00 00 00 00 00开始,接下来相同。。。
当恢复数据时,boxes mails 两个目录下面的数据要完整。