红联Linux门户
Linux帮助

TURBOMOLE 6.5 for Windows/Linux x86_64 demo版的破解

发布时间:2016-10-03 15:51:46来源:linux网站作者:communix
本文目录:
1.TURBOMOLE 6.5 for Windows x86_64 demo版的破解
2.TURBOMOLE 6.5 for Linux x86_64 demo版的破解

1.TURBOMOLE 6.5 for Windows x86_64 demo版的破解
TURBOMOLE demo版有原子数的限制。下面是为Windows x86_64平台版本去除限制的过程。其他平台(32位Windows,32和64位Linux,MacOS)的破解方法是类似的。
1,去TURBOMOLE主页(http://www.turbomole.com/)下载并安装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并行计算,未测试。
 
2.TURBOMOLE 6.5 for Linux x86_64 demo版的破解
分析方法和Windows版的破解相同。这里只给出破解的具体操作。
1,去TURBOMOLE主页(http://www.turbomole.com/)下载并安装TmoleX34_Linux64_DEMO。
2,创建一个文件turbo_license.ctd,在这个文件里随便写几行数字、字母,然后放到安装目录的COSMOlogic/TmoleX13/TURBOMOLE/LICENSE之下,可以欺骗图形界面程序TmoleX。
3,破解串行模块。用二进制编辑工具对em64t-unknown-linux-gnu下的串行程序进行修改。
表一,需要去掉license限制的串行模块代码列表
------------------------------------------------
No.  模块                  原二进制码
------------------------------------------------
1  aoforce                E866A55E00
2  bsseenergy             E8C5280100
3  dscf                   E833C95B00
4  egrad                  E8263A5A00,E8163B5700
5  escf                   E8B6A15B00,E8B6235900
6  evib                   E8C6864300
7  grad                   E81D673E00
8  mpgrad                 E89EE95400,E81EFD5300
9  mpshift                E860172600
10  odft                   E88D465800
11  rdgrad                 E8115F5F00
12  ricc2                  E8E90FE200
13  ridft                  E85C8E8000,E88C487D00
14  rimp2                  E8E0994400,E820FB4100
15  rirpa                  E87E391A00,E8BEDB1800
16  uff                    E865810500
------------------------------------------------
全部改为9090909090,并保存。
以下程序需要去掉原子数限制。搜索代码0F84220500008B45C483F83D7C0F83F8,把0F84改为90E9并保存。
17 define
18 eigerf
19 freeh
20 gabafit
21 moloch
22 ricctools
23 rimp2prep
24 tm2molden
3,破解MPI并行模块。用二进制编辑工具对em64t-unknown-linux-gnu_mpi下的并行程序进行修改。
表二,需要去掉license限制的MPI并行模块代码列表
------------------------------------------------
No.  模块                  原二进制码
------------------------------------------------
25  dscf_mpi               E8DDF25B00
26  grad_mpi               E8AD223F00
27  mpgrad_mpi             E8B89C5500,E828B05400
28  rdgrad_mpi             E8C17C5F00
29  ricc2_mpi              E8B910E200
30  ridft_mpi              E858DD7200,E878976F00
------------------------------------------------
全部改为9090909090,并保存。
4,破解SMP并行模块。用二进制编辑工具对em64t-unknown-linux-gnu_smp下的并行程序进行修改。
表三,需要去掉license限制的SMP并行模块代码列表
----------------------------------------------------
No.  模块                  原二进制码
----------------------------------------------------
31  aoforce_omp            E845B06100
32  aoforce_smp            E866A55E00
33  dscf_omp               E865875D00
34  dscf_smp               E833C95B00
35  egrad_smp              E8263A5A00,E8163B5700
36  escf_omp               E8FA665C00,E8DAD65900
37  escf_smp               E8B6A15B00,E8B6235900
38  grad_mpi               E8AD223F00
39  grad_smp               E81D673E00
40  mpgrad_mpi             E8B89C5500,E828B05400
41  odft_omp               E8850D5A00
42  rdgrad_mpi             E8DDAD5F00
43  rdgrad_smp             E8115F5F00
44  ricc2_omp              E874A3E700,E85471E500
45  ridft_mpi              E8B8EC830048F7,E8D8A68000
46  ridft_smp              E85C8E8000,E88C487D00
----------------------------------------------------
全部改为9090909090,并保存。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24714.html