本破解方法適用于新老版本的天正系列軟件:天正建筑 天正電氣 天正給排水 天正暖通 天正結(jié)構(gòu)
其實(shí)在網(wǎng)上早已有大量天正軟件的破解補(bǔ)丁及注冊機(jī),若只想使用本軟件而對破解本身不感興趣,建議直接在搜索引擎上搜索出對應(yīng)軟件的對應(yīng)版本的注冊機(jī)呀破解補(bǔ)丁來用。但注冊機(jī)或破解補(bǔ)丁往往未必能及時(shí)與新版軟件同步出現(xiàn),所以若有興趣自己動(dòng)手破解的,可以詳讀本文,效法破解,
3.破解流程
1)打開模塊:用OllyDbg附著天正軟件的關(guān)鍵模塊tchinit
2)下斷點(diǎn):在tch_init進(jìn)程里第一個(gè)調(diào)用RegSetValueEx前面一點(diǎn)的TESTEAX,EAX下斷點(diǎn)
3)更改程序運(yùn)行流程:繼續(xù)運(yùn)行軟件,輸入任意注冊碼后點(diǎn)確認(rèn),將自動(dòng)切換回OllyDbg,對寄存器窗口EAX上右鍵置0
4)成功:繼續(xù)運(yùn)行,程序已注冊,而且注冊碼已經(jīng)寫入到注冊表中,再次打開也不再提示注冊。(完)
4.圖文詳解
整個(gè)過程中,將學(xué)習(xí)到ollyDbg的一系列的基本操作:附著模塊、查看模塊子函數(shù)、反查子使用函數(shù)的位置、下斷點(diǎn)、改寄存器
1)安裝并運(yùn)行天正電氣,將遇到要求注冊。暫不理會(huì),然后去打開OllyDbg
2) 在OllyDbg的界面,在菜單欄點(diǎn)文件附加找出窗口名為”天正注冊碼”的進(jìn)程,確認(rèn)附加。附加過程中會(huì)有一個(gè)“入口點(diǎn)警告”,點(diǎn)確定。
3)附加進(jìn)程后,見到OllyDbg的工作區(qū)分了上下左右四個(gè)區(qū)域,左上角為指令運(yùn)行區(qū),右上角為寄存器區(qū),左下角為內(nèi)存映像區(qū)、左下角好像是堆棧區(qū)。
在左上角右擊查看模塊”tch_init”,使指令區(qū)只顯示目標(biāo)模塊的指令運(yùn)行狀況。
4)在左上角右擊查找當(dāng)前模塊的名稱(標(biāo)簽),目的查找本模塊所用到的相關(guān)子函數(shù)
5)來到函數(shù)列表窗口,直接在鍵盤打r e g s e t等鍵將自動(dòng)跳到我們要找的RegSetValueExA處,直接雙擊此子函數(shù)(或右擊查找輸入子函數(shù)參考雙擊第一項(xiàng)或?qū)Φ谝豁?xiàng)右擊反匯編窗口中跟隨)
6)跳回到反匯編窗口,如下圖所示,向上面約十行,找出” TEST EAX,EAX”,右擊斷點(diǎn)切換.至此,下好了斷點(diǎn)。再在菜單欄點(diǎn)調(diào)試運(yùn)行。這時(shí)可切換回天正注冊碼窗口了。
7)在天正注冊碼窗口隨意輸入任意的注冊碼,然后確認(rèn),將提示出錯(cuò)。此時(shí)將自動(dòng)切換回OllyDbg的界面,目標(biāo)程序已被OllyDbg被中斷,剛好運(yùn)行到我們上面設(shè)置的斷點(diǎn)的那行,顯黑底紅字。這時(shí)查看右上角的寄存器區(qū),找到EAX 000000001,右擊置0,然后點(diǎn)菜單欄的調(diào)試運(yùn)行。
8)試再切換回autocad窗口,嘿嘿,已經(jīng)大功告成!
這時(shí)可以退出OllyDbg,忽略警告。
可以查看注冊表中的相關(guān)情況:
點(diǎn)windows的開始運(yùn)行輸入regedit依次展開HKEY_LOCAL_MACHINESOFTWARETangentTElec8.0Serial可以見到右側(cè)窗口有No鍵,其數(shù)值正是正確的注冊碼了,即本程序已經(jīng)注冊,再打開時(shí),不會(huì)再有注冊提示了。
5.解除軟件的試用期的限制
1)由于程序本身是試用版,即使注冊了仍然存在一個(gè)過期日期,比如7.5版的天正系列軟件的過期日期就是2009年1月1日,7.0版本的過期日期是2008年9月1日,而8.0 Beta1測試版的過期日期則是2011年1月1日(經(jīng)本人修改系統(tǒng)時(shí)間試驗(yàn)出來)
可用十六進(jìn)制的編輯器來編輯tch_initstart.arx來實(shí)現(xiàn)解除軟件的試用期限制。此文件在天正程序的安裝文件夾(可以對程序的快捷方式右擊屬性快捷方式起始位置 找到)的sys15、sys16、sys17文件夾里,分別對應(yīng)不同的AUTOCAD版本,sys15對應(yīng)AUTOCAD2000-2002,sys16對應(yīng)AUTOCAD20042006,sys17對應(yīng)AUTOCAD2007~2009),不管安裝了哪一個(gè)版本的AUTOCAD需分別進(jìn)入sys15、sys16、sys17文件夾修改一下其中的tch_initstart.arx文件
2)我們要做的是在tch_initstart.arx找出過期日期,修改為自己想要的日期。
a.準(zhǔn)備本人使用的十六進(jìn)制編輯器為WinHex(下載地址/jianzhu/tianzheng/1354582988393365.html)
打開WinHex,點(diǎn)菜單File(漢化版則為”文件”)Open(打開)然后找出tch_initstart.arx,
b.點(diǎn)菜單Search(查找)Find Hex Values(查找16進(jìn)制數(shù)值), 或點(diǎn)擊工具欄的如圖圖標(biāo),搜索15DB3201
(為什么搜索15DB3201呢?因?yàn)?.0 Beta1版的天正軟件的過期日期為2011年1月1日, 即20110101,打開windows自帶的計(jì)算器可算出20110101用十六進(jìn)制表示為1 32 DB 15,而天正也許為刻意為破解者增加多道障礙而將它倒序表示,因此搜索15DB3201,中間沒有空格)然后將搜索到的數(shù)值修改為自己想要的數(shù)值。比如想讓軟件到2020年1月1日過期(十進(jìn)制的20200101即十六進(jìn)制的1343AA5),可將15DB3201修改為A53A3401。然后保存修改結(jié)果。