这里讲的并非如何去破解Openquant (this is not a crack of Openquant),
|
本文的方法也仅供研究。如果有人要用于商业目的,最好还是去买一个License。
解决过期的办法如下:
1.使用ildasm.exe(似乎是Visual studio里面的小工具, 我看到的最新3.5版本, 似乎有更新的)将 “
SmartQuant.dll” dump 成 il 文件
2.找到 "SmartQuant.il" 文件
1642 行
.method public hidebysig specialname static
int32 get_Evaluation_Time() cil managed
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld int32 'a(()-()'::eoFpmXbKo
IL_0005: ret
} // end of method 'a(()-()'::get_Evaluation_Time
将以上.method改成
.method public hidebysig specialname static
int32 get_Evaluation_Time() cil managed
{
// Code size 6 (0x6)
.maxstack 8
ldc.i4 1000 // 这里的1000就是试用天数
IL_0005: ret
} // end of method 'a(()-()'::get_Evaluation_Time
3.将"SmartQuant.il"用ILASM编译成dll,
命令为:ilasm SmartQuant.il /dll /res=SmartQuant.res
4.将原来的“SmartQuant.dll”替换
效果如下:
顺便贴ildasm.exe破解方面的文章
ILDasm的功能限制与解除
2009-08-19 20:58
大家都知道ILDasm是。NET程序的反编译工具,它是由Microsoft提供的反编译工具。
它可以直接把。NET程序反编译为IL文件及资源文件,这样即可以非常容易的让黑客进行修改,删除强命名,修改注册码算法等等。。。并且Ilasm再次编译,得到一个正确的,可发布的程序集 并且,这个功能是其它反编译器所不能替代的功能,因为ILDasm真的太重要了。也许有的朋友能理解,有的朋友不能理解,但没关系,我们今天的重点并不是这个。 这是一件不可思议的事,让软件没有了安全保障。幸亏有了XenoCode,它有一项功能即是 Anti ILDasm 。这是一个非常棒的功能,但它是怎么做到的呢? 其实,这是ILDasm的一个限制,当你在程序中制造某个标志后,那么程序集将不可以再被ILDasm反编译,ILDasm会提示您,这个程序集已经是一个被有版权的程序集,您不可能对其反编译。呵呵,我们最可爱的ILDasm会罢工? 我曾经找过相关资料,不过没有找到有什么最简单的方法让自己的程序集变成已有版权的程序集,XenoCode有这样做,不过我不想去分析它。如果有知道的朋友,请与我交流一下 那么我们今天的任务是什么呢?就是把罢工的ILDasm拉回来,让它继续为我们工作。 OK,分析一下吧:经过短暂的分析,让我出了一身汗。。。这样的版权保护有还不如无,一定误导了很多朋友。 为什么我这样说呢?因为我发现,想让ILDasm再次工作,比想象中的简单很多,这根本就档不住任何东西。请看下面我跟踪的代码: 10042B4BD E8 8AFCFDFF CALL ildasmCr.0040B14C //报错函数 2 3 400415FC6 E8 12470100 CALL ildasm.0042A6DD //进入的主函数 5 6 70042AABD FF51 0C CALL DWORD PTR DS:[ECX+C] //判断函数 80042AAC0 3BF7 CMP ESI,EDI 90042AAC2 75 0F JNZ SHORT ildasm.0042AAD3 //关键跳转地址,改为JMP即可 100042AAC4 68 96010000 PUSH 196 110042AAC9 E8 8964FFFF CALL ildasm.00420F57 120042AACE E9 E3090000 JMP ildasm.0042B4B6 13 这已经很明显了,ILDasm只用了一个标志去阻止"已有版权"的程序集,而您只需要修改一个机器指令就可以畅通无阻的反编译任何程序集,并修改其内容再次编译 以上代码您可以自己修改,如果您不会,也可以到 http://www.cnblogs.com/Files/Aiasted/ildasm.rar 下载一个已经修改好的版本。 XenoCode配合强命名的做法,可能从此将会消失 (注:我没有从事过任何.NET程序集的破解,仅仅是看过在ILDasm反编译出来的程序集可以去掉强命名一文,如果有对之处,请指正)
转载:http://blog.csdn.net/stereohomology/article/details/5671212
|