破解SQL Prompt 3.9的几步操作
关于SQL Prompt 的破解文章园子里已经有不少人发过了。破解思路我也不想重复,不知道的可以参考: 官方下载地址是:http://downloads.red-gate.com/SQLToolbelt.exe 接下来我就说说具体怎么做吧。我就说说最简单最傻瓜的做法,不需要懂IL照样破解! 准备:用到的工具VS2005|VS2008 、DotNet Helper 、Reflector 1.将最新版的SQL Prompt 3.9下载下来安装好。我安装在D:Program FilesRed GateSQL Prompt 3目录下。 2.用DotNet Helper 将RedGate.Licensing.Client.dll反编译成IL。DotNet Helper确实很方便,用于可视化的反编译和编译,界面如图:
点击“反编译”按钮,即可将RedGate.Licensing.Client.dll反编译成IL,如下图:
3.用Reflector打开RedGate.Licensing.Client.dll,找到License类的DaysLeftInTrial属性,将语言选成IL,然后查看该属性下的方法get_DaysLeftInTrial,如图:
4.这里是返回还剩下的试用天数,如果我将这个属性的逻辑改为返回9999,那岂不是不会试用过期了。但是如果不会IL怎么办?简单。使用VS新建一个控制台应用程序,在其中类下面建属性,该属性返回9999: public int GetStudyzy { ??? get ??? { ??????? return 9999; ??? } } 5.将VS中的这个程序编译好。然后使用Reflector查看该程序,找到这个属性:
6.这不就是我们想要的返回9999的IL了吗?用文本编辑器打开RedGate.Licensing.Client.il,搜索get_DaysLeftInTrial字符串,找到该方法的定义,然后将其中的内容修改为返回9999的这个IL的内容: .method public hidebysig specialname instance int32 ??????? get_DaysLeftInTrial() cil managed { ? .maxstack 1 ? .locals init ( ????? [0] int32 CS$1$0000) ? L_0000: nop ? L_0001: ldc.i4 0x270f ? L_0006: stloc.0 ? L_0007: br.s L_0009 ? L_0009: ldloc.0 ? L_000a: ret } // end of method Licence::get_DaysLeftInTrial 7.保存IL的修改。使用DotNet Helper,点击其中的“编译”按钮,将会编译出修改后的程序集:RedGate.Licensing.Client_Output.dll,将这个程序集替换掉原来的程序集。 8.去掉强命名。 注意:去掉强命名要用到sn命令,而这个命令是在.net framework 2.0 SDK中提供的,如果用户没有装SDK的话那还得装一个,该SDK在微软官方网站有下载,也可以通过VS的安装光盘来安装。安装后在如下位置有SDK命令提示: 进入SDK的命令行模式,输入如下命令即可:
9.打开数据库管理工具,然后查看当前的天数:
似乎成功了!!!!! 我也还是为了保险起见,把TrialStatus 也用同样的方法修改吧。修改成: public TrialStatus TrialStatus 具体做法还是一样的,在VS中写你想要返回的结果的代码,然后编译,然后Reflector查看,然后将查看的IL覆盖掉License中的IL内容。 OK,就介绍这么多了。纯属学习和交流,大家试着自己破解吧,如果只想使用该软件的就下载这个DLL: 最后再补充一句,我破解的这个dll文件的版本是2.6.0.64,所有使用这个版本的其他RedGate公司的工具都可以使用我这个破解文件。当然不要忘记了去掉强命名哦,不然要报错。最后再附上一张使用本软件的效果截图: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
- JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添
- asp.net-mvc – Mvc渲染动作/部分响应输出
- asp.net – 为什么不能在发布模式下构建网站?
- ASP.NET / VB.NET:Dropdownlist SelectedIndexChanged没有
- asp.net – 替代SSRS前端
- asp.net-mvc – MVC Razor – 如何向自己提交表单
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数
- ASP.NET中的Application和Cache有什么区别?
- asp.net-mvc – 配置IIS 7以通过虚拟路径提供程序处理静态文
- 身份验证 – 如何为Asp.NET MVC 5创建ClaimsIden
- asp.net – 添加GridTemplateColumn会破坏RadGri
- .net – 尝试捕捉仍然有用吗?
- asp.net-mvc – @ Html.Action in Asp.Net Core
- 使用ASP.NET通过POST接收(和发送)XML
- ASP.NET – 将网站投入生产的基本清单
- asp.net-core – 如何从.net核心连接到Sybase数据
- asp.net-mvc – 用于货币格式的ASP.NET MVC数据注
- asp.net-mvc – 如何使用MVC 4制作提交按钮
- asp.net-mvc – 一种在MVC环境中处理返回URL的智