jimu 发表于 2016-12-8 18:38:31

解析foxmail文件存储

Foxmail的邮件保存路径在哪里?
一般来说,Foxmail默认将邮件保存到其安装目录(\Storage\邮箱账号\Mails)目录下。如需要将邮件信息保存到其它某个指定目录中(如将Foxmail安装到C盘,而将其邮件内容保存到专门保存数据的D盘)。
1、若在使用Foxmail之前就希望将某个帐户中的邮件保存到其他目录中,只需新建该帐户时弹出的“建立新的用户帐户”对话框中单击“邮箱路径”下的“选择”按钮,打开“浏览文件夹”对话框,然后选择所需的文件夹即可。
2、若已经建立了相应的邮件帐户,现希望在保留以前所有的设置和邮件的基础上调整邮件的保存目录,则首先应将要移动的帐户邮箱目录拷贝到目标目录,并移走拷贝出来的目录下的Account.stg文件,然后在Foxmail删除该邮箱对应的帐户,接着新建一个与刚才删除的帐户相同的帐户,并把邮箱路径指定到拷贝出来的邮箱所在路径。最后,关闭Foxmail,并把移走的Account.stg文件复制回来。


如果是升级的,试试修改 \Program Files\Foxmail 7.0\FMStorage.list 中路径




oxmail文件格式初步分析。。


foxmail存储邮件的文件夹内对应收件箱、发件箱等都有两个文件。
如收件箱,则对应in.ind,in.box两个文件
in.ind是该文件夹的索引文件,以48位16进制代码开始,
第三行的最后几位应该用来标识邮件的记录数,从最后一位向前几位递增。
接下来的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开始,接下来相同。。。接下来有时间继续分析。。。。。。
out.box和out.indx两个文件
页: [1]
查看完整版本: 解析foxmail文件存储