NET Win HTML Editor Control破解过程全记录

         前几天做项目。需要用到一个WinForm的HTML的编辑和显示控件。.NET自己并没有提供这方面的控件。去Googel百度了一下。没有找到合适的.NET控件。无奈去英文Googel了一下。果然发现了一款名为:.NET Win HTML Editor Control 3.2的控件。下载配置环境试用。发现免费版提供全功能试用。唯一不好的地方就是在编辑区有一个注册的链接。暂时还没发现有其他的限制。
 
整理一下破解思路如下:
          1. 首先使用Reflector反编译工具尝试反编译程序。
          2. 查找程序判断是否注册或者显示非注册版限制的代码。
          3. 使用ilDasm反编译DLL为IL文件。
          4. 去掉“判断是否注册”的代码或者“显示非注册版限制”的代码。
          5. 使用ILasm编译IL文件为DLL。
          6. 使用VisualStudio编写例子程序测试。
标准的破解流程。还好破解需要的软件电脑上都有,不需要从新下载。说干就干。

第一步:使用Reflector反编译程序:
哭泣!代码进行了混淆。虽然还是可以看得懂。不过估计没个十天半个月是搞不定了。我可没那么好的耐心。难道真的破解不了了么?算了直接跳过这步进行第三步。

第三步:使用ilDasm反编译DLL为IL文件
使用ilDasm反反编译DLL为IL文件的方法如下:进入命令行模式。 进入.NET SDK目录输入:
iLDasm.exe WinHTMLEditorControl.dll /out=E:"il" WinHTMLEditorControl.il

第四步:去掉“判断是否注册”的代码或者“显示非注册版限制”的代码
使用Visual Studio打开WinHTMLEditorControl.il。不管三七二十一先找到:

 1    .publickey  = ( 00   24   00   00   04   80   00   00   94   00   00   00   06   02   00   00     //  .$..
 2                  00   24   00   00   52   53   41   31   00   04   00   00   01   00   01   00     //  .$..RSA1..
 3                 F5 F3 1F  13  1D D7 B1  30   75  AD 0F B8  45   09  7E 6E    //  .0uE.~n
 4                 BF  73   98  FC  49   88   47  BB BA AC 9F  88   78   54  FD B3    //  .s..I.G..xT..
 5                 EC DC  89   27   70   84  B4  01  6D A9 9C  45   95   97   79   80     //  'pm..E..y.
 6                 4E 4D E1 C2  43   13   20   38  DB 2F  33   87   69  9C BA A6    //  NM..C. 8./3.i
 7                 F6 7C D3 7B 5F  08   BE  FA BA 9C 5D  61  2C  66  BD  06     //  .|.{_..]a,f..
 8                 2A  81   BE  B1 6D  55  8C  01  5D CA 2B  87   79  D9 2C 8E    //  *mU..].+.y.,.
 9                  42  2C 7B B0  97   49  C5 6E F5 B3 C6  05   39   12   23  0A    //  B,{..I.n.9.#.
10                  40  DD  07  FF  73   85  C6  29   73  F9 5D  30   88   93  CB E3 )  //  @s..)s.]0.

把这段代码删除。先把那那个什么什么Key去掉。 然后查找“Click here to Purchase and remove this link”因为它免费版提示的就是这句话。 找到如下代码:

1      IL_01f4:    ldfld        class  [System.Windows.Forms]System.Windows.Forms.LinkLabel WinHTMLEditorControl.winHTMLEditorControl::xa1f1f9a7278f5fa8
2      IL_01f9:    ldstr        " Click here to Purchase and remove this link "
3      IL_01fe:    callvirt     instance   void  [System.Windows.Forms]System.Windows.Forms.Control::set_Text( string )
4      IL_0203:   br         IL_0359
5

看来这个代码是把字符串“Click here to Purchase and remove this link”赋值给LinkLabel。这个就是增加免费限制的代码了。先小小的修改一下修改代码如下:

1      IL_01f4:    ldfld        class  [System.Windows.Forms]System.Windows.Forms.LinkLabel WinHTMLEditorControl.winHTMLEditorControl::xa1f1f9a7278f5fa8
2      IL_01f9:    ldstr        ""
3      IL_01fe:    callvirt     instance   void  [System.Windows.Forms]System.Windows.Forms.Control::set_Text( string )
4      IL_0203:   br         IL_0359

同样给LinkLabel赋值。不过只赋一个空值。

第五步:使用ILasm编译IL文件为DLL。
使用ilasm编译il为DLL文件的方法如下:进入命令行模式。 进入ilasm.exe所在目录输入: Ilasm.exe /dll E:"il"WinHTMLEditorControl.il。编译成功。

第六步:使用VisualStudio编写例子程序测试
使用VisualStudio因为修改后的DLL。编译结果如下: 限制没有了,而且是全功能的破解成功!

上传来半天图片都没弄明白。想看图片的朋友去下载word文档吧:Download
NET Win HTML Editor Control安装程序下载:Download

软件破解是一门技术。软件进入了.NET时代。不但开发“.NET了”。破解也变的平民话了。
起初写这篇随笔的时候确实有炫耀的心态。
这里也要感谢“博客园网友”们的提醒。

文档中已经去掉了破解后DLL的下载地址。希望这篇随笔可以对想要学习和了解.NET破解的人有一个入门的帮组。

感谢 18楼 JoinLiu 的提醒 ,测试了一下确实是有时间方面的限制。
如果仅仅是按上面修改确实不能解除时间的限制。
又花了1个多小时测试了一下。只要按照上面说的破解思想继续在IL代码中查找时间限制的代码然后把代码去掉或修改还是可以破解的。

你可能感兴趣的:(editor)