方法1:我發現這個方法1,現在(2018.06.05)在winedt 10.2上已經不能用了,在低版本(10.1及以下版本)上還可以用,所以如果方法1不行,請看方法2。
WinEdt 是目前我發現最好的LaTeX編輯器,但是在國內支付不便,且學生許可需$40,只能出此下策,望有余力者盡量購買正版。
WinEdt 的舊版本的破解方法眾所周知,只需定時刪除HKCU\SoftWare\WinEdt 7\Inst這個注冊表鍵值即可(這個注冊表鍵記錄了安裝的時間,以分鍾為單位),可以把這個操作寫在WinEdt的退出時調用的宏里面。(CTeX發行版里的WinEdt 7也是如此破解的)
但是對於WinEdt的新版本(10.1),這個方法部分失效,我經過試驗與對比,發現它會向%AppData%\WinEdt Team\WinEdt 10\WinEdt.dnt里面寫東西,第二行那組數字(類似‘1089357896771240110’)與安裝時間密切相關。如果發現注冊表鍵不存在,一般會根據這個記錄算出一一對應的注冊表鍵寫入注冊表。但如果這個值是安裝后的初始值‘1089357896855742345’,則將當前時間寫入注冊表,並且計算出當前時間對應的數字寫入WinEdt.dnt。另外如果WinEdt.dnt中的數值恰為‘1089357896855742345’時(認為可能被破解者改回?),且注冊表中有時間記錄,那這個數字也會被根據注冊表中時間計算出的正確的時間替換。所以如果要恢復原始的試用時間,需要同時修改WinEdt.dnt和刪除注冊表。
WinEdt.dnt在WIN7系統中默認安裝位置是:C:\Users\Administrator\AppData\Roaming\WinEdt Team\WinEdt 10,其他系統類似。
現在找到破解方法如下
1.打開菜單option-option interface-Advanced Configuration-Event Handlers-Exit
2.在退出宏中添加以下語句,位置是:在語句Exe(‘%b\Config\Cleanup.edt’);后,在語句PopTagsandRegisters;前
1 RegDeleteValue('HKEY_CURRENT_USER', 'Software\WinEdt 10', 'Inst'); 2 //I'm not clear what WinEdt.skd is exactly used for
3 DeleteFile('%B\WinEdt.skd'); 4
5 //ONLY FOR WinEdt 10 6 //Tampering WinEdt.dnt
7 ReadFile( "%b\WinEdt.dnt", 1, 0, 0, 0 ); 8 ReplaceInString( "%!1", "1089357896855742345", 4, 23, 0, 2 ); 9 WriteFile( "%b\WinEdt.dnt", "%!2", 0, 0, 0, "" );
即可。
另外我不太清楚WinEdt.skd起什么作用,似乎不刪除並無妨,如果有人知道請告訴我,謝謝。
更新:這種方法同樣適用於WinEdt 10.2
方法2:直接用注冊碼激活
點擊“help"--->“register WinEdt”后,輸入如下注冊碼:
name:Cracker TeCHiScy
code: 1130140925535334280
據說,這種方法可能在隔一段時間后又提示未注冊,因為winedt 10.2會隨機檢測,我現在還沒遇到這種情況,所以不知道是不是真的。
要注意的是:方法1和方法2不能同時用,如果同時用,每次退出winedt時,軟件會刪除掉已經注冊的信息。