再次发布SQL Prompt 3.8的新的patch,解决了不能格式化T-SQL的问题
生活随笔
收集整理的這篇文章主要介紹了
再次发布SQL Prompt 3.8的新的patch,解决了不能格式化T-SQL的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇關于推薦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
????? 所以昨天晚上弄到凌晨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
轉載于:https://www.cnblogs.com/jintan/archive/2008/06/16/1223282.html
總結
以上是生活随笔為你收集整理的再次发布SQL Prompt 3.8的新的patch,解决了不能格式化T-SQL的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb.net 如何从文件中读取图像
- 下一篇: js在上传图片前判断大小