破解SQL Prompt 3.9的几步操作

简介:

关于SQL Prompt 的破解文章园子里已经有不少人发过了。破解思路我也不想重复,不知道的可以参考:http://www.cnblogs.com/jintan/archive/2008/06/16/1223282.html

官方下载地址是:http://downloads.red-gate.com/SQLToolbelt.exe

接下来我就说说具体怎么做吧。我就说说最简单最傻瓜的做法,不需要懂IL照样破解!

准备:用到的工具VS2005|VS2008 、DotNet Helper 、Reflector

1.将最新版的SQL Prompt 3.9下载下来安装好。我安装在D:\Program Files\Red Gate\SQL Prompt 3目录下。

2.用DotNet Helper 将RedGate.Licensing.Client.dll反编译成IL。DotNet Helper确实很方便,用于可视化的反编译和编译,界面如图:

image

点击“反编译”按钮,即可将RedGate.Licensing.Client.dll反编译成IL,如下图:

image

3.用Reflector打开RedGate.Licensing.Client.dll,找到License类的DaysLeftInTrial属性,将语言选成IL,然后查看该属性下的方法get_DaysLeftInTrial,如图:

image

4.这里是返回还剩下的试用天数,如果我将这个属性的逻辑改为返回9999,那岂不是不会试用过期了。但是如果不会IL怎么办?简单。使用VS新建一个控制台应用程序,在其中类下面建属性,该属性返回9999:

public int GetStudyzy
{
    get
    {
        return 9999;
    }
}

5.将VS中的这个程序编译好。然后使用Reflector查看该程序,找到这个属性:

image

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的命令行模式,输入如下命令即可: 

 cd dll所在的安装路径
sn -Vr RedGate.Licensing.Client.dll

 

9.打开数据库管理工具,然后查看当前的天数:

image

似乎成功了!!!!!

我也还是为了保险起见,把TrialStatus 也用同样的方法修改吧。修改成:

public TrialStatus TrialStatus 

     get{return TrialStatus.InTrain; } 
     set{.} 

具体做法还是一样的,在VS中写你想要返回的结果的代码,然后编译,然后Reflector查看,然后将查看的IL覆盖掉License中的IL内容。

OK,就介绍这么多了。纯属学习和交流,大家试着自己破解吧,如果只想使用该软件的就下载这个DLL:http://files.cnblogs.com/studyzy/RedGate.Licensing.Client.rar

 

最后再补充一句,我破解的这个dll文件的版本是2.6.0.64,所有使用这个版本的其他RedGate公司的工具都可以使用我这个破解文件。当然不要忘记了去掉强命名哦,不然要报错。最后再附上一张使用本软件的效果截图:

本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2008/07/24/1250101.html,如需转载请自行联系原作者

相关文章
|
3月前
|
SQL 数据库 数据安全/隐私保护
【操作宝典】SQL巨擘:掌握SQL Server Management的终极秘籍!
【操作宝典】SQL巨擘:掌握SQL Server Management的终极秘籍!
61 0
|
16天前
|
SQL 关系型数据库 分布式数据库
数据管理DMS操作报错合集之DMS SQL执行失败且无法看到原因,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
4月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
94 0
|
14天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
34 0
|
15天前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之在sql 里嵌套查询时,查询条件带有instr时报错,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
20天前
|
SQL 数据库
[AIGC] SQL中的数据添加和操作:数据类型介绍
[AIGC] SQL中的数据添加和操作:数据类型介绍
|
25天前
|
SQL 自然语言处理 数据挖掘
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
|
26天前
|
SQL 人工智能 编解码
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
|
2月前
|
SQL 安全 数据库
第三章用sql语句操作数据
第三章用sql语句操作数据
10 0
|
2月前
|
SQL 网络协议 Windows
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”