谈谈我使用FreeTextBox的历程以及一些破解~

一直以来我做的都是Soho开发。项目都不算很大,不管是什么系统,一定会有资讯发布相关的内容。很久之前的Asp时代,一般我都会使用UBB代码,即使到了ASP.NET时代,我也没有放弃这个。而且我还专门编写了一个UBB的ASP.NET控件方便调用。但是毕竟互联网上用得最多的还是所见即所得的HTML编辑模式。于是慢慢我就找一些相关的.NET控件,接触最多的就是FreeTextBox了。
现在能够从互联网上找到开源的FreeTextBox版本是1.6.3中文版,是基于.net 1.1开发的,转化为2.0也不是难事,但是功能不强,我也只是初略的看了一下效果之后就放弃了继续以这个版本为基础进行扩展和开发。
FreeTextBox 1.6.3中文版之后发现了荒野的1.6.5版本,可惜没有帮助文件,连图片还有JS都没有。我去过荒野的主页,没有相关的内容,他的网站已经做成了一个不算小的门户,凭感觉,界面不是很好,不过缓存使用还不错,安全性我没有做太多测试,但我想这么多年浸在ASP.NET里面,感觉不会太差吧。
但我还是下载了荒野的最新的新闻系统。他还是使用的FreeTextBox作为文本编辑器。我在Maxthon下测试,发现有了很多功能,有一个是插入多媒体,用得是图片替代法,想法很不错,就冲这一点,我就开始打这个版本的FreeTextBox主意。
我用的反编译工具是Reflector(06年11月左右更新),反编译之后发现里面很多乱码,可能是荒野对DLL文件进行了加密,不过这还难不倒我,我研究了一下那些加密函数,能删则删,能改则改,最后总算弄出了一个自己的文本编辑器。至于改动,其实不多,主要是全面汉化,功能细节的修改。例如编码,参数的格式化等,把它对于参数的格式化做的严格了一些。因为当时正在做一个系统,我将一些参数修改成自己网站的默认值,运行,OK,颇为自得。
到了07年3月。我开始着重研究起Ajax。Ajax需要对Js有一些了解,而总所周知,各个浏览器对于Js的支持并不一定相同。特别是IE或者使用同IE一个核心的浏览器(如Maxthon),使用范围他是牛,但对Js的支持他却只能算“小强”。我改造的FreeTextBox没办法通过FireFox这些符合标准W3C规范的浏览器。
虽然知道症结所在,也知道该如何入手,但是我实在没有多余的时间去花在这个上面。而且通过IE和FireFox的对比,不仅JS上有很大出入,而且CSS上也相差很大,无奈之下,我暂时打消了重新编辑FreeTextBox的打算。
偶尔在查询资料时,看到有篇文章专门弹到FreeTextBox的兼容性问题。看着我十分兴奋,而且里面也弹到FreeTextBox的破解问题,虽然只是说了一下思路,连具体方法也没有,但对于我来说已经足够了。
立马从FreeTextBox主页上下载了最新的FreeTextBox3.1.6,根据从网上查到的资料,对比E文,先把汉化文件相关的XML文件完善好。但是插入图片依然是E文。虽然国内已经有做好的汉化版本(如CNForums),他们采用的是rewrite相关类来实现插入图片,但总感觉全盘用别人的实在没有什么意思,于是考虑破解后自己动手汉化。
破解反编译工具还是Reflector,这个时候已经是8月了,Reflector已经可以反编译.net3.5了,不过这个不是我关心的,现在要解决的是Reflector的反编译效率。好在这次Reflector没有让我失望,编译出的代码虽然也还是有很多加密类,但因为有之前的经验,所以改起来就很快了。接着按照网上的原理说明,我整个去掉了FreeTextBox3.1.6的License保护。最后修改了一些反编译出来代码错误,生成,测试,通过,OK,小功告成!!
接下来就是汉化和.net2.0内嵌文件的处理了。这个只是细活,没有多大技术难度,很快搞定。
把FreeTextBox默认的语言改成中文,顺便将插入图片的界面文字也写进语言XML文件中~~大公告成,真正的多语言FreeTextBox形成。

总结一下:做程序一定考虑全面一些,特别是Web程序员,要尽量考虑客户端的多样性
多上网找找资料,最好追根溯源,官方和明间说法都听听
开源,不自私
技术员最好有点自恋精神,但不要太多,热爱是要热爱,但不要沉迷,否则连自己GF都Pass了就不好

开篇文,不知所云,而且也是随手在屏幕前输入的,有时间我具体谈一下具体的破解过程~~
当然还有相关工具和源码的下载~~~

posted on 2007-09-07 16:55  红与黑  阅读(1639)  评论(4)    收藏  举报