zoukankan      html  css  js  c++  java
  • 再次发布SQL Prompt 3.8的新的patch,解决了不能格式化TSQL的问题

     上一篇关于推荐SQL Prompt 3.8的随笔,园子里几位朋友回复反应不能使用格式化功能,并强烈要求再次解决该问题,

          所以昨天晚上弄到凌晨2点,最终的SQL Prompt补丁:
    下载地址:/Files/jintan/Sql_Prompt_RedGate.Licensing.Client.rar
    支持格式化SQL

    其实破解过程很简单,没有涉及到脱壳,跟踪等。

    大致的思路是这样的:
    public int DaysLeftInTrial 这个属性返回值大于0,我这里是14,
           public int DaysLeftInTrial
            
    {
                
    get
                
    {
                    
    int days;
                    
    if (this.TrialStatus != TrialStatus.InTrial)
                    
    {
                        
    return 0;
                    }

                    
    if (this.d == DateTime.MinValue)
                    
    {
                        TimeSpan span 
    = DateTime.UtcNow.Subtract(this.b);
                        days 
    = 14 - span.Days;
                    }

                    
    else
                    
    {
                        days 
    = this.d.Subtract(DateTime.UtcNow).Days;
                    }

                    
    if (days < 0)
                    
    {
                        days 
    = 14;
                    }

                    
    return days;
                }

            }
     


    为了保险起见,我又修改了TrialStatus ,
    public TrialStatus TrialStatus 

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

    这样已经可以保证永远都是试用并且不过期。

    最后修改IL代码,我用的是http://www.codeproject.com/KB/dotnet/NetDasm.aspx这个工具修改IL,配合Reflector使用
    当然你也可以直接用SDK里面的ildasm+ilasm工具修改。

    这次不用做去掉强命名的操作了,直接copy到目录覆盖原来的就行了。
    注意:经测试,一定要去掉强命名才能使用,请自己去掉RedGate.Licensing.Client.dll的强命名。

    对于Red-Gate的其他产品,同样可以使用上面的方法,应该没有问题的。

    注:
    上个版本修改的地方是:
    public bool get_Activated()
    {
        
    return true;
    }
    对应的IL:
    Code:
    method public hidebysig specialname instance bool get_Activated() cil managed {
    .maxstack 8
    L_0000: ldc.i4.1
    L_0001: ret
    }
    但是不知道什么原因,格式化的菜单一直是灰色。所以才有现在的这个Patch

  • 相关阅读:
    Linux 中文件名颜色所代表的属性
    time manage
    NoClassDefFoundError
    swagger在线文档
    2020.8.18
    spring jpa data的关键字
    2020.8.6
    spring data jpa的报错Can not set int field XXX to null value
    deadlock found when trying to get lock ;try restarting transaction
    查找-斐波那契
  • 原文地址:https://www.cnblogs.com/jintan/p/1223282.html
Copyright © 2011-2022 走看看