精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>编码解码>>乱码大全>>乱码大全(5A)──Uuencode/decode 知识与使用入门

主题:乱码大全(5A)──Uuencode/decode 知识与使用入门
发信人: wenbobo()
整理人: wenbobo(2002-12-22 01:27:57), 站内信件
发信人: bluesea (蓝海), 信区: Virus
标 题: Uuencode/decode 知识与使用入门 (一)
发信站: BBS 水木清华站 (Mon Jun 9 19:22:13 1997)

Uuencode/decode 知识与使用入门 (一)

由于 BBS 上很多新手对于 UUENCODE感到莫名其妙,不知如何获得
这些程序,病毒讨论区和 Hacker 讨论区使用这个方法传递小程序比较
多,也常用。BBS 上对新手的解答大多比较简单,故写出下面这些,供
新手上手入门。虽然和病毒无直接关系,但大家可以利用这个手段传递
一些 Crack 工具,甚至上载小文件进行交流分析。由于我不在 CERNET,
对 CERNET里面实在不熟悉。所以列举的都是国外地址。

UUENCODE 是将二进制文件以文本文件方式进行编码/表示、以利于
基于文本传输环境中进行二进制文件的传输/交换的编码方法之一, 在
邮件系统 / 二进制新闻组 (尤其是 alt.cracks, alt.2600.crackz 之
类的讨论组 ) 中使用频率比较高。由于位利用率低,Uuencode 之后的
文件要比原来大,这个也是很好理解的。

我常用的 UUENCODE/DECODE 的编码/解码程序有这样几个:

(1) WINZIP 6.x
http://www.winzip.com 
一个广泛使用的 Windows ZIP 工具。菜单里面有 uuencode的选项,
供将 ZIP 直接生成 UUE 文件。双击 .uue 文件可以自动识别并展
开被uuencode 方法编码的文件;

(2) UUENCODE/DECODE 96
http://www.zdnet.com/cgi-bin/texis/swlib/hotfiles/info.html?fcode=00069Z 
一个 MS-DOS 命令行工具,能对大的文件以 64 为界分段;

(3) Microsoft Internet Mail
http://www.microsoft.com/ie 
在选择 uucode 选项之后, Attached 文件自动使用 uuencode 方
案。 这封 E-mail 可以在本地 Save as... 存盘,生成的文件
以 .eml 为后缀,按文本方式打开,即可看到 uuencode的代码。

--
扫除一切害人虫,全无敌...

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.96.49.87]


--------------------------------------------------------------------------------

发信人: bluesea (蓝海), 信区: Virus
标 题: Uuencode/decode 知识与使用入门 (二)
发信站: BBS 水木清华站 (Mon Jun 9 19:24:15 1997)

Uuencode/decode 知识与使用入门 (二)

其他的 Windows E-mail 程序,如 Netscape mail, Eudora等大多
都支持在邮件传输、编码、解码时使用 uucode. 类似的转换工具还有
UUCODE,WINCODE 等等。在很多具有搜索服务的共享程序网点上,用象
uucode、uuencode等关键字进行查找,一般都可以找到。如:
http://www.shareware.com 
http://www.hotfiles.com  等

上面的工具都可以生成 uucode 代码,如果在 BBS或新闻组上看到
uuencoded代码, 拷贝下来可以用上述工具进行转换或转发到你自己的
邮箱,如果你的邮件客户程序支持 uucode, 都可以自动将其转换成二
进制文件。

经过 uucode 编码的文件可以用 Edit/Notepad 来看,都是类似这
个样子的,有长有短:

begin 666 TEST.ZIP
M4$L#!!0````(`$!.Z^:=-YJ'NZ,``,9J`0`+````0T]-34%.1"Y#3TWL?7U<
M&]>5Z!W-:$8:+!E_(']+@V,K$&.((48R&&PL,*;&@`'S86)[!0Q&C9#H:,8.
......

M``````````$`(`````````!#3TU-04Y$+D-/35!+!08``````0`!`#D```#D
%HP``````
`
end

经过 “Re:”之后的文本前面大多要加上 ">"、":" 或 "|" 之类
的符号,这种情况下应该将前面的一列或几列去掉,才能恢复成原状。
可以进行列编辑(块编辑)的编辑器有 Microsoft C/C++ 7.0 或MASM6.x
所携带的 DOS下的 PWB.EXE, 或是使用 Windows 下的UltraEdit4.x,
可以到 IDM 的网点 http://www.idmcomp.com 上去下载。

其它程序也可以,如可以用 sed 很方便的去掉。( 95 下也有 )
用 VC 的编辑器也可以。把 ^> 或者 ^: 替换成空字符串就可以了。
注意要选中 正则表达式 这个按钮。DOS下的QEdit也可以进行块操作
(本段为amethyst/小石头☆剑折不改刚 和 tank/Rabit 补充)

上述涉及的程序如果需要注册,在常见的 Hacker/Crack 网点或相
应的 BBS 讨论组上都可以找到。

--
扫除一切害人虫,全无敌...

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.96.49.87]


--------------------------------------------------------------------------------

发信人: bluesea (蓝海), 信区: Virus
标 题: Uuencode/decode 知识与使用入门 (三)
发信站: BBS 水木清华站 (Mon Jun 9 19:25:58 1997)

Uuencode/decode 知识与使用入门 (三)

uuencode
========
Unix program for encoding binary data as ASCII. Uuencode was
originally used with uucp to transfer binary files over serial
lines which did not preserve the top bit of characters but is now
used for sending binary files by e-mail and posting to Usenet
newsgroups etc. The program uudecode reverses the effect of
uuencode, recreating the original binary file exactly.

Uuencoded data starts with a line of the form

begin <mode> <file>

where <mode> is the files read/write/execute permissions as three
octal digits and <file> is the name to be used when recreating
the binary data.

Uuencode repeatedly takes in a group of three bytes, adding
trailing zeros if there are less than three bytes left. These 24
bits are split into four groups of six which are treated as
numbers between 0 and 63. Decimal 32 is added to each number and
they are ouput as ASCII characters which will lie in the range 32
(space) to 32+63 = 95 (underscore). Each group of sixty ouptut
characters (corresponding to 45 input bytes) is output as a
separate line preceded by an 'M' (ASCII code 77 = 32+45). At the
end of the input, if there are N output characters left after the
last group of sixty and N>0 then they will be preceded by the
character whose code is 32+N. Finally, a line containing just a
single space is output, followed by one containing just "end".

Sometimes each data line has an extra dummy character added to
avoid problems which mailers that strip trailing spaces. These
characters are ignored by uudecode.

Despite using this limited range of characters, there are still
some problems encountered when uuencoded data passes through
certain old computers. The worst offenders are computers using
non-ASCII character sets such as EBCDIC.

uudecode
========
A Unix program to convert the ASCII output of uuencode back to
binary. See uuencode for details.


--------------------------------------------------------------------------------

发信人: bluesea (蓝海), 信区: Virus
标 题: Uuencode/decode 知识与使用入门 (四)
发信站: BBS 水木清华站 (Mon Jun 16 03:06:33 1997)

Uuencode/decode 知识与使用入门 (四)

UUENCODE分割和归并是其最基本的应用之一,将大的文件分成若干小的
文件,目的在于减轻或均衡邮件传输的负载。

很多程序都支持基于文件名的命名规则进行分割归并,比如 FILE1.uue、
FILE2.uue ……FILEn.uue 或者是 FILE.1、FILE.2……FILE.n 之类的,值
得注意的是不同程序在分割时所采用的规则有区别,这就使得这些数据在交
换发生之后,如果不知道原切割程序就会给还原稍微带来点麻烦。不过相当
多数的程序有较多的参数或选项可以调整,可以参考各个程序的命令行参数
或在线帮助。世界上的支持UUCODE的程序不下上千种,列举是没有完的。

大部分情况下,被分割成小块的文件都含有section n of m of <file>
或 Part n/m of <file> 之类的标记,不同的程序,其“智能”有所不同。
有个叫做 Wincode 的 Freeware 内含一个 Winsort 功能,自动化程度略高
一些; 还有的程序是要求先把各个分段的 UUE 先简单地 COPY 在一起,然
后再自动解码;再不行还可以编几行小程序做点“预处理”。

FTPMAIL 是 UUENCODE 分段使用的一个典型例子,FTPMAIL 的优点是可
以用牺牲实时性来换取享用本地带宽,把传输耗时转嫁到 Internet 邮件系
统上。( 如果 CERNET 内部对接收邮件不计费的话,还可以起节约费用的作
用。) 通过 FTPMAIL接收的文件大多分割成多个文件,并且具有完整的邮件
头部分。比如:

Date: Monday, March 3, 1997 18:18:59 +0800
From: ftpmail <[email protected]>
To: [email protected]
Subject: [Part 1/15] of uuencoded ftp://ftp.abcd.com/efgh.zip

ftpmail-begin
begin 660 efgh.zip
M35HJ:HK FE( ELKJK()kmk L JO IE EMCOJEDOJEODJOIJLKJDLJLJ
......
M_QX (#(_$FOKPFI_)#_RO {KDF_)O_FO WFO)WE_FO)_WEFO_WE)FO_)FOEF
ftpmail-end

还原的方法很多,如果使用的是 Microsoft Mail 之类的邮件客户程序
且总文件数目比较少,可以采用分别存成文件的方法,并按照一定的规则命
名,如 myfile.1、myfile.2……, 注意顺序不要错。 最后使用如 UUde-
code 95/96这样的命令行程序:(Usage: uudecode myfile) 即可, 这些程
序大多可以自动匹配文件名,找到相应的部分。

如果文件数目比较多,理想的方法是先将这些邮件存成一个大文件。比
如 Pegasus Mail 中先在邮件箱里面排序(这很重要),然后选上这些邮件,
再选择菜单Folder/Extract Message/Extract them all to a single file,
输入文件名,拷贝就完成了;Microsoft mail程序的“邮箱”*.mbx 本身就
是一个文件,其格式可以认为基本就是文本文件,只要新建一个逻辑目录或
邮箱,顺序放入这些邮件,对应的 mbx 文件就形成了。( 注意,Eudora 会
比较麻烦,它会将第一个文件中携带的数据直接解码到 Attach 目录中。)

上面合并出来的文件改其后缀为 UUE,最后一步就是解码。合并的数据
文件在每个UUENCODE分段中间都间杂着邮件头,但这些信息显然不是UUCODE
数据本体,遗憾的是很多知名程序都不能自动忽略掉它们。不过也有一些程
序可以通过命令行参数可以帮助识别,编一个很简单的小过滤程序也不费事。
这里推荐使用 Wincode,一个 16 位的Windows Freeware,具有很好的兼容
性,对我们现在讨论的情况非常适合。当前版本 2.7.3a,其地址是:
http://www.members.global2000.net/snappy/wincode.html 
在各个共享软件网点也都可以找到。

--
扫除一切害人虫,全无敌...

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.96.49.45]

[关闭][返回]