LATEX ——WinEdt 破解

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;前

RegDeleteValue('HKEY_CURRENT_USER', 'Software\WinEdt 10', 'Inst');
//I'm not clear what WinEdt.skd is exactly used for
  DeleteFile('%B\WinEdt.skd');

//ONLY FOR WinEdt 10
//Tampering WinEdt.dnt
  ReadFile( "%b\WinEdt.dnt", 1, 0, 0, 0 );
  ReplaceInString( "%!1", "1089357896855742345", 4, 23, 0, 2 );
  WriteFile( "%b\WinEdt.dnt", "%!2", 0, 0, 0, "" );

转自https://www.cnblogs.com/dmzhuo/p/6689521.html

posted @ 2018-01-05 11:41  彼岸花杀是条狗  阅读(942)  评论(0编辑  收藏  举报