使用uudecode巧妙解开邮件中的base64附件

王朝other·作者佚名  2008-05-18
宽屏版  字体: |||超大  

很多 Windows 客户端的邮件软件都采用 MIME/Base64 的格式来对附件编码,而 Linux 下的 uuencode 软件缺省的编码方式为 UU ,所以,如果用 uudecode 来解开使用 base64 编码的信件附件时,会报告“No `begin' line”的错误。本文采用手工方法来解开这些邮件的附件。

普通的邮件的附件采用 Base64 编码,我们用普通的文本编辑器可以看到如下的内容:

------------B61881636C49720

Content-Type: application/octet-stream; name="test.bin"

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename="test.bin"

yv66vgADAC0AsAgAcwgAdAgAfggAgAgAgQgArAcAmgcAmwcAnAcAnQcAngcAnwcAoAcAoQcAogcA

owcApAcApQcApgoAEQA5CgARADoKAAkAOwoAEAA7CgAKADwKABIAPQkAEwA+CQATAD8JABMAQAkA

EwBBCQATAEIJABMAQwkAEwBECQATAEUJABMARgkAEwBHCgAQAEgLAA4ASQsADwBJCQASAEoLAAwA

SwkAEgBMCgAQAE0KAAoATgsADwBPCwAOAFALAA4AUQsADgBSCQASAFMJABIAVAsADgBVCQATAFYK

AAsAVwoAEABYCgANAFkKAAgAWgoACgBbDABcAGwMAF0AcQwAcgBhDAByAG8MAHIAcAwAggB6DACD

AHkMAIQAfQwAhQB8DACGAHsMAIcAeQwAiAB5DACJAHkMAIoAeQwAjAB5DACNAGgMAI4AYQwAjgB2

D

......

邮件的结尾为:

ACe4ADdNLLAAAAABAHgAAAA6AA4AAABFAA4ARgAQAEcAEgBIACEASQAmAEoAMQBLADYATABBAE0A

RgBOAFEATwBZAFAAZABRAGwAUgABAH8AAAACAJM=

------------B61881636C49720--

观察发现,uudecode 应该可以解开 Base64 编码的文件的,但是可能在头尾的处理方式上和 Win32 下的软件有不一致的地方。

我们采用 uuencode -m 选项对一个二进制文件编码,得到如下的内容:

begin-base64 750 -

f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAQIcECDQAAACcMgAAAAAAADQAIAAG

ACgAHgAbAAYAAAA0AAAANIAECDSABAjAAAAAwAAAAAUAAAAEAAAAAwAAAPQA

AAD0gAQI9IAECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIqA4A

......

结尾为:

R0xJQkNfMi4wAF9lbmQAaHRvbnNAQEdMSUJDXzIuMABjb25uZWN0QEBHTElC

Q18yLjAAX0lPX3N0ZGluX3VzZWQAc3ByaW50ZkBAR0xJQkNfMi4wAF9fZGF0

YV9zdGFydABzb2NrZXRAQEdMSUJDXzIuMABvcGVuaG9zdABfX2dtb25fc3Rh

cnRfXwA=

====

可以看到头和尾有所不同,因此我们直接编辑原来的文件,把头和尾修改为和以上方式一致以后,采用 uudecode -o output_name infile 就可以解开 base64 编码的信件附件了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有