本文目录:
1.TURBOMOLE 6.5 for Windows x86_64 demo版的破解
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,并保存。