RTE

Posted on 24th May 2007 by Nio in JavaScript, Mac, 程序人生

Rich Text Editor (RTE) 是跨浏览器的所见即所得编辑器,特性就不多说了,比较特别有两点:
1、支持 Safari,目前包括 FCKeditor 等都不支持 Safari;
2、轻量级。

不过这个脚本给出的下载包是压缩之后 js 文件,源代码需要购买。因为需要做一些修改,所以源代码是必不可少的。其实对于 JavaScript 的加密、压缩,基本都是可以还原的,虽然有些变量被替换得可读性极差,但方法名、函数名是不可能变的。

下面简单说一下我的解压过程,先看看压缩文件:richtext_compressed.js。这个文件只有一行:


eval(function(p,a,c,k,e,d){ .... )

很明显,所有的有效代码都在 eval() 函数中执行,这个函数里边的一堆代码实际上运行之后的结果是一个字符串,这个字符串就是之前的源代码(可能是压缩之后的),那么我们的目标就是获取到这个字符串。很简单,把 eval() 去掉,在前边加上 var a = …. 这样 eval() 里边的执行结果就给了变量 a,这个变量就是源代码字符串,接下来你可以直接使用 document.write(a); 把 a 打印出来,也可以将 a 赋给一个 textarea 框,我习惯用后边这个方法,因为可以直接拷贝,也不需要处理特殊符号、HTML 标签。

获取到这个代码之后可以发现,其实这已经是完整的源代码了,只不过做了简单的压缩,网上有很多这一类的解压工具,比如 JsDecoder,将获取到的源代码用这类工具解压之后,可读性就出来了。

这里上传了我解压之后的最终版本,richtext.js。(作者挣不到钱不要骂我,呵呵)

2 Comments »

  1. 貌似自己以前还汉化过这东西……呵呵……

    Comment by 姜运涛 — May 25, 2007 @ 8:15 am

  2. 你是说 RTE 吗?
    不错不错 :)

    Comment by Nio — May 25, 2007 @ 9:56 pm

Leave a comment