Google前段时间(应该是在2015年上半年)出了一个政策,就是在如果电子邮件的附件符合以下几种情况,那么, 附件是被禁止下载的。
- 附件中含有病毒文件,此类文件并不会特意区分文件存在的头部标识,无论文件是否可执行都会激活Gmail内置病毒引擎来区分带毒和不带毒,在已知明确病毒的情况下,此类文件会被禁止提取;
- 可执行文件,一律不准提取,不管有没有病毒;
- 压缩文件,凡无密和弱密,若内含可执行文件,一律不准提取,不管有没有病毒(Aes-256密不在此列);
- 凡有密压缩文件(多为Zip弱密),若内部循环包含别的压缩文件,一律不准提取,不管有没有病毒。
这个政策影响的人不多,但恰恰给我撞上了。几年前我用Gmail给自己发了一封邮件,附件中打包了一些比较重要的文档,由于是一股脑打包的,所以也没有关心里面的文件是否符合上述几种情况,关键是,那会儿Google还没出这个离谱的政策啊。由于附件中有不少重要文档,虽然几年才会看一次,但不看是万万不行的,特别是里面有十几年前我太太给我发的第一封信。(不小心暴露年纪了)
下面我来介绍强制提取附件的具体方法:
1. 首先,提取原始邮件的eml代码:
2. 打开邮件代码页,代码比较长时一定要耐心等网页全部载完,选择保存网页到硬盘(这里默认保存的文件名一般是0.txt),文件打开后应该是这个样子的:
3. 用十六进制编辑器Winhex打开刚才保存的网页代码文件0.txt,找到附件部分代码,删除文件的头尾部分,并将中间换行符代码0D 0A替换为空,然后保存。
选择下图红框中的选项,将换行符0D 0A替换为空:
在替换换行符0D 0A的时候,请将中间的空格去掉,应该是如下图这个样子的:
4. 然后点Winhex左上角的保存按钮后将完整Base64编码的附件代码保存为一个文件,正常情况下完整的附件代码应该是一个以N3开头,以==结尾,中间无空格空行的十六进制文件。
5. 打开Base64转换软件(YeaBase64.exe),勾选文件模式,打开刚刚Winhex处理过的十六进制文件,下方选择转换为二进制文件,选择保存位置,修改保存的文件名后缀为本来的扩展名,在本例,文件后缀是rar,如图:
6. 完成附件的提取,此种方法为强制提取,可提取任意不符合Google政策的附件文档。
附上面用到的两款软件下载:
- Winhex: http://www.xdowns.com/soft/4/85/2006/Soft_2767.html
- YeaBase64: https://sites.google.com/site/byzodthevoid/yeabase64 (这个杀毒软件报警,要用的话,请先关掉杀毒软件,另外这个软件下载地址在墙外,不过,既然都用上Gmail了,墙应该难不倒你吧?)