本破解方法适用于新老版本的天正系列软件:天正建筑 天正电气 天正给排水 天正暖通 天正结构
其实在网上早已有大量天正软件的破解补丁及注册机,若只想使用本软件而对破解本身不感兴趣,建议直接在搜索引擎上搜索出对应软件的对应版本的注册机呀破解补丁来用。但注册机或破解补丁往往未必能及时与新版软件同步出现,所以若有兴趣自己动手破解的,可以详读本文,效法破解,
3.破解流程
1)打开模块:用OllyDbg附着天正软件的关键模块tchinit
2)下断点:在tch_init进程里第一个调用RegSetValueEx前面一点的TESTEAX,EAX下断点
3)更改程序运行流程:继续运行软件,输入任意注册码后点确认,将自动切换回OllyDbg,对寄存器窗口EAX上右键置0
4)成功:继续运行,程序已注册,而且注册码已经写入到注册表中,再次打开也不再提示注册。(完)
4.图文详解
整个过程中,将学习到ollyDbg的一系列的基本操作:附着模块、查看模块子函数、反查子使用函数的位置、下断点、改寄存器
1)安装并运行天正电气,将遇到要求注册。暂不理会,然后去打开OllyDbg
2) 在OllyDbg的界面,在菜单栏点文件附加找出窗口名为”天正注册码”的进程,确认附加。附加过程中会有一个“入口点警告”,点确定。
3)附加进程后,见到OllyDbg的工作区分了上下左右四个区域,左上角为指令运行区,右上角为寄存器区,左下角为内存映像区、左下角好像是堆栈区。
在左上角右击查看模块”tch_init”,使指令区只显示目标模块的指令运行状况。
4)在左上角右击查找当前模块的名称(标签),目的查找本模块所用到的相关子函数
5)来到函数列表窗口,直接在键盘打r e g s e t等键将自动跳到我们要找的RegSetValueExA处,直接双击此子函数(或右击查找输入子函数参考双击第一项或对第一项右击反汇编窗口中跟随)
6)跳回到反汇编窗口,如下图所示,向上面约十行,找出” TEST EAX,EAX”,右击断点切换.至此,下好了断点。再在菜单栏点调试运行。这时可切换回天正注册码窗口了。
7)在天正注册码窗口随意输入任意的注册码,然后确认,将提示出错。此时将自动切换回OllyDbg的界面,目标程序已被OllyDbg被中断,刚好运行到我们上面设置的断点的那行,显黑底红字。这时查看右上角的寄存器区,找到EAX 000000001,右击置0,然后点菜单栏的调试运行。
8)试再切换回autocad窗口,嘿嘿,已经大功告成!
这时可以退出OllyDbg,忽略警告。
可以查看注册表中的相关情况:
点windows的开始运行输入regedit依次展开HKEY_LOCAL_MACHINESOFTWARETangentTElec8.0Serial可以见到右侧窗口有No键,其数值正是正确的注册码了,即本程序已经注册,再打开时,不会再有注册提示了。
5.解除软件的试用期的限制
1)由于程序本身是试用版,即使注册了仍然存在一个过期日期,比如7.5版的天正系列软件的过期日期就是2009年1月1日,7.0版本的过期日期是2008年9月1日,而8.0 Beta1测试版的过期日期则是2011年1月1日(经本人修改系统时间试验出来)
可用十六进制的编辑器来编辑tch_initstart.arx来实现解除软件的试用期限制。此文件在天正程序的安装文件夹(可以对程序的快捷方式右击属性快捷方式起始位置 找到)的sys15、sys16、sys17文件夹里,分别对应不同的AUTOCAD版本,sys15对应AUTOCAD2000-2002,sys16对应AUTOCAD20042006,sys17对应AUTOCAD2007~2009),不管安装了哪一个版本的AUTOCAD需分别进入sys15、sys16、sys17文件夹修改一下其中的tch_initstart.arx文件
2)我们要做的是在tch_initstart.arx找出过期日期,修改为自己想要的日期。
a.准备本人使用的十六进制编辑器为WinHex(下载地址//www.civilcn.com/jianzhu/tianzheng/1354582988393365.html)
打开WinHex,点菜单File(汉化版则为”文件”)Open(打开)然后找出tch_initstart.arx,
b.点菜单Search(查找)Find Hex Values(查找16进制数值), 或点击工具栏的如图图标,搜索15DB3201
(为什么搜索15DB3201呢?因为8.0 Beta1版的天正软件的过期日期为2011年1月1日, 即20110101,打开windows自带的计算器可算出20110101用十六进制表示为1 32 DB 15,而天正也许为刻意为破解者增加多道障碍而将它倒序表示,因此搜索15DB3201,中间没有空格)然后将搜索到的数值修改为自己想要的数值。比如想让软件到2020年1月1日过期(十进制的20200101即十六进制的1343AA5),可将15DB3201修改为A53A3401。然后保存修改结果。