现在的位置: 首页 > 综合 > 正文

Delphi2CS破解 Delphi 转换C#

2012年10月22日 ⁄ 综合 ⁄ 共 1466字 ⁄ 字号 评论关闭
 初来乍到,希望园子里的大牛们不要扔砖头哈,本人做开发也有几年时间了,一直想拥有自己的一个blog,当然也是一直比较忙,最重要的一点,本人比较菜的缘故吧,呵呵,今天终于鼓起勇气啦!切入正题,由于本人最近在研究UO方面的东东,找到一个用Delphi写的Client,怎么办呢?本人毕竟是搞C#和.net的,Delphi不熟悉,就在网上找到一个Delphi2cs的软件,很开心呀^_^!试了挺好,可是最后一看,呀!

 // Delphi2CS trial converts the .PAS file that is less than 500 lines.
 // Main.pas is 4343 lines. 
 // Please purchse the final version to avoid the limitation.

本人英语不是很好,但差不多意思看懂了,这个版本不能转换超过500行的delphi文件,国外和国内的网站搜了一大圈,没有破解的方法-_-|||。

怎么办呢?想想还是自己动手吧,自己动手丰衣足食,于是网上找教程,就依葫芦画瓢吧!

首先用Reflector反编译下delphi2cs.exe,咦,不错呀,C#写的,对上道了,哈哈!

代码虽然乱但好像没有混淆呀,庆幸,要不然我可束手无策了!终于被我找到一句:

else if (this.GB.A > 500)
            {
                this.ED("Delphi2CS trial converts the .pas file that is less than 500 lines.");
                builder3.Append(" // Delphi2CS trial converts the .PAS file that is less than 500 lines. \r\n");
                string fileName = Path.GetFileName(this.O);
                builder3.Append(string.Concat(new object[] { " // ", fileName, " is ", this.GB.A, " lines. \r\n" }));
                builder3.Append(" // Please purchse the final version to avoid the limitation.\r\n");
                flag = true;
            }
这不就是关键的地方吗?

于是照着网上的教程首先用ILDASM保存成il文件,再用EmEditor打开il文件进行修改,打开我傻眼了,il看不懂呢!咋改呢!

上图片:

看到了吧,原先是500,我改成500000了,嘻嘻(我蒙的), 我相信应该没有500000行的代码,反正我是没见过!

再用ILASM工具重新编译成EXE文件,在VS2008命令行下执行 ilasm /exe d:\4.il  这里要注意一下,刚开始我怎么编译都是失败,后来才发现我用的是VS2005的ILDASM和ILASM,因为EXE是.net3.5的,所以必须要用VS2008下的工具才可以编译成功。大功告成,试了一下,一个几千行文件也转换成功了^_^!呵呵,就写到这里吧,第一次搞破解,第一次在园子里面写blog,第一次原创...不为别的了,只为记忆自己程序人生中的点滴,希望各方大牛们多多指教!

下载地址 http://files.cnblogs.com/liufei88866/Delphi2cs的软件.rar

抱歉!评论已关闭.