TURBOMOLE 6.5 for Windows x86_64 demo版的破解

TURBOMOLE demo版有原子数的限制。下面是为Windows x86_64平台版本去除限制的过程。其他平台(32位Windows,32和64位Linux,MacOS)的破解方法是类似的。

 

1,去TURBOMOLE主页下载并安装TmoleX34_Win64_DEMO。

 

2,创建一个文件turbo_license.ctd,在这个文件里随便写几行数字、字母,然后放到安装目录的COSMOlogic\TmoleX13\TURBOMOLE\LICENSE之下,可以欺骗图形界面程序TmoleX。

 

3,串行版破解,以分子力学模块uff.exe为例。打开TmoleX,运行一个超出范围的FF任务,得到出错信息:

 

 The licensefile is not valid for the current version

 

 MODTRACE: nomodules on stack

 

 license notvalid

  endedabnormally

 

4,因为license是伪造的,首先要破解license限制。用IDApro的idaq64.exe在uff.exe中搜索以上出错信息,往上跟踪,发现各种license出错信息都被sub_1400D52F0调用,而sub_1400D52F0又有两处调用,它们的二进制码分别为:E873710300,和E8656B0300。只要把这两句注销掉(改为9090909090),破解的目的就达到了。试验发现只有第一处起作用,第二处可以不改。用类似的办法,还可以破解其他存在license限制的计算模块,共15个。破解方法总结在表一中,读者可以用UE在家DIY。

 

 表一,需要去掉license限制的串行模块代码列表

 --------------------------------------------------------------------------

 No.  模块                  原二进制码       原二进制码        都改为

 --------------------------------------------------------------------------

  1  aoforce.exe            E8736C0800       E865660800       9090909090

  2  dscf.exe               E813432400       E8053D2400

  3  egrad.exe              E8E3493800       E8D5433800

  4  escf.exe               E883A60900       E875A00900

  5  grad.exe               E833D80F00       E825D20F00

  6  mpgrad.exe             E833460900       E825400900

  7  mpshift.exe            E873CA1300       E865C41300

  8 odft.exe               E803651F00       E8F55E1F00

  9  rdgrad.exe             E8536A1400       E845641400

 10  ricc2.exe              E81381AA00       E8057BAA00

 11  ridft.exe              E873131600       E8650D1600

 12  rimp2.exe              E873262C00       E865202C00

 13  rirpa.exe              E8A3DAB200       E895D4B200

 14  bsseenergy.exe         E8034A0400       E8F5430400

 15  uff.exe                E873710300       E8656B0300

 --------------------------------------------------------------------------

经过修改后,发现这些模块连原子数的限制都没有了。不过,别忘了还有不检查license的模块,它们仍然有原子数的限制。

 

5,破解其他模块的原子数限制。搜索出错信息“NUMBER OF ATOMSNOT ALLOWED IN THIS DEMO”。存在原子数限制的计算模块共有20个,其中13个已进行了上一个破解,所以需要破解原子数限制的计算模块只有7个(见表二)。它们是:

define.exe

eigerf.exe

freeh.exe

moloch.exe

ricctools.exe

rimp2prep.exe

tm2molden.exe

以体积最小的eigerf.exe为例。idaq64.exe搜索出错信息。在文本模式下找到这部分代码:

.text:000000014003A5AC                 jz      loc_14003AB85

.text:000000014003A5B2                 cmp     [rsp+0D78h+var_D8], 0Ch

.text:000000014003A5BA                 jle     short loc_14003A5C6

.text:000000014003A5BC                 cmp     [rsp+0D78h+var_D8], 32h

.text:000000014003A5C4                 jl      short loc_14003A5E8

.text:000000014003A5C6

.text:000000014003A5C6 loc_14003A5C6:                          ; CODE XREF: sub_14003A220+39Aj

.text:000000014003A5C6                 cmp     [rsp+0D78h+var_D8], 3Ch

.text:000000014003A5CE                 jle     short loc_14003A5DA

.text:000000014003A5D0                 cmp     [rsp+0D78h+var_D8], 6Eh

.text:000000014003A5D8                 jl      short loc_14003A5E8

.text:000000014003A5DA

.text:000000014003A5DAloc_14003A5DA:                          ; CODE XREF: sub_14003A220+3AEj

.text:000000014003A5DA                 cmp     [rsp+0D78h+var_D8], 78h

.text:000000014003A5E2                 jle     loc_14003AB85

我们可以一个一个地修改原子数限制,不过还有个省事的的办法。比较原子数之前(上面代码的第一行)有一个跳跃,就是说满足某种条件就避开原子数检查。其二进制代码为0F84D3050000(共两处),把比较大小的0F84改为无条件跳跃90E9并保存。其他模块的破解方法总结在表二中。

 

表二,需要去掉原子数限制的串行模块代码列表

 ---------------------------------------------------------

 No.  模块             原二进制码        都改为

 ---------------------------------------------------------

 16  define.exe        0F84D3050000      90E9D3050000

 17  eigerf.exe        *

 18  freeh.exe         *

 19  moloch.exe        *

 20  ricctools.exe     *

 21  rimp2prep.exe     *

 22  tm2molden.exe     *

 ---------------------------------------------------------

需要修改的代码在每个模块中都出现两次。*表示同上。

 

6,并行版计算模块的破解。分析过程和上面类似,略。破解方法见表三。

 

表三,需要去掉license限制的并行模块代码列表

 --------------------------------------------------------------------------

 No.  模块                  原二进制码       原二进制码        都改为

 --------------------------------------------------------------------------

 23  dscf_mpi.exe           E823E33300       E805DC3300       9090909090

 24  grad_mpi.exe           E8B3791100       E89572110048

 25  mpgrad_mpi.exe        E873620C00488D   E8555B0C00

 26  rdgrad_mpi.exe         E883321A00       E8652B1A00

 27  ricc2_mpi.exe          E803C7EF00       E8E5BFEF00

 28  ridft_mpi.exe          E8C37E3C00      E8A5773C00

 --------------------------------------------------------------------------

因为不知道如何在64位Windows下做TURBOMOLE并行计算,未测试。 

 

 

你可能感兴趣的:(破破破)