试用期只剩3天?Navicat试用期重置工具navicat-key,三步让15天倒计时原地复活
【免费下载链接】navicat-keynavicat-key项目地址: https://gitcode.com/gh_mirrors/na/navicat-key
周五晚上十一点,Navicat Premium突然弹出一行红字:"您的试用期已过,请购买正版。"就在我快崩溃的时候,一个叫navicat-key的Navicat试用期重置工具救了我——它是用Java写的开源小程序,原理一句话讲完:自动清理Navicat存在Windows注册表里的试用记录,每跑一次,试用期回到15天。免费、开源,主程序拢共几十行代码。
三步完成Navicat试用期重置:clone、编译、跑起来
别想得太复杂,就三步。
第一步,把Navicat完全关掉。不是点一下关闭就完事,任务管理器里也得确认没有navicat.exe在跑。这步不能省,原因后面会讲。
第二步,把项目拿到手,编译:
git clone https://gitcode.com/gh_mirrors/na/navicat-key javac -cp "libs/jregistry-1.8.3.jar" src/com/returncode/navicat/Registery.java第三步,运行:
java -cp "src;libs/jregistry-1.8.3.jar" com.returncode.navicat.Registery屏幕上会哗啦啦滚出一排delete :开头的行,每行都是一条被清掉的注册表路径。看到这些,就成了。重启Navicat,15天试用期原地复活 🎉
它为什么能工作:注册表就是一本总账本
想搞懂它凭什么能重置试用期,得先明白Navicat把"你试用了几天"记在哪。
Windows注册表在系统里的地位,很像一本总账本。Navicat每次启动都翻账本查记录,主账本在HKEY_CURRENT_USER\Software\PremiumSoft\Data;另外在HKEY_CURRENT_USER\Software\Classes\CLSID下面,还散落着一堆带Info子项的"分账本"。
navicat-key干的事,就是趁Navicat不在的时候把账本擦掉,而且只挑两样删:主账本Data,以及CLSID下那些只包含一个Info文件夹的子项。核心代码就这么点:
// 先删主账本 Data,再挨个翻 CLSID 子项删 Info reg.deleteSubTree(premiumSoft, "Data"); for (RegistryKey sub : clsId.getSubKeys()) { reg.deleteSubTree(sub, "Info"); }它怎么判断哪个CLSID子项该删?就一条规则:这个子项下面是不是只有一个Info文件夹。是,删;不是,跳过。这招挺聪明——Navicat给每个连接生成的GUID项长得就是这副模样,而无关的CLSID项里通常不止一个Info。
账本擦干净,Navicat再启动时查不到任何试用记录,只能乖乖把15天重新摆上桌。
从准备到验证:跑一遍完整的Navicat试用期重置流程
先交代环境:Windows 7/8/10/11都行,需要Java 8或更高版本。项目里的libs目录带了reg.dll(32位)和reg_x64.dll(64位),这是jregistry库做JNI调用时要加载的本地库,DLL选错或找不到,程序会直接报错。
执行时如果DLL不在默认路径,记得手动指一下:
java -Djava.library.path="./libs" -cp "src;libs/jregistry-1.8.3.jar" com.returncode.navicat.Registery跑完你会看到类似这样的输出,这就是工具在一条条汇报战果:
delete : HKEY_CURRENT_USER\Software\PremiumSoft\Data delete : HKEY_CURRENT_USER\Software\Classes\CLSID\{05FA135A-5E1E-01B9-5855-34A51FA798F7}\Info delete : HKEY_CURRENT_USER\Software\Classes\CLSID\{41BDFDC1-F5E0-5BDD-8EEC-29DAD3C82569}\Info delete : HKEY_CURRENT_USER\Software\Classes\CLSID\{5559C361-C5CE-8B83-9E44-DBDF22836C08}\Info第一行是主账本,后面每一条都对应一个被识别的GUID项。怎么验证?重启Navicat,打开"帮助 → 关于",剩余天数已经刷新成15。不放心的还能再开一次regedit,去HKEY_CURRENT_USER\Software\PremiumSoft下看看,Data键确实不在了。
运行报错这样处理:4个常见坑的对策
java.lang.UnsatisfiedLinkError: no reg in java.library.path现象:DLL没被找到。先确认系统位数——32位系统配reg.dll,64位系统配reg_x64.dll,混用必挂。再把对应DLL放到jar同目录,或用上面那条-Djava.library.path指过去。
报错Access denied,删除失败现象:注册表被系统拦住了。右键以管理员身份运行命令行窗口,再执行一次。权限不够,工具根本动不了注册表。
跑完了,但Navicat还是提示到期现象:清理没生效。八成是Navicat没退干净——任务管理器里把navicat.exe及相关进程全部结束,或者干脆重启电脑再跑一遍。进程活着的时候注册表项被占用,删不掉。
报错Unsupported major.minor version 52.0现象:Java版本太老。52.0对应JDK 8,说明你的JRE比它还旧。装个Java 8或更高版本,先用java -version自查。
还能怎么玩
- 一键批处理:写个bat把"杀进程→跑jar→暂停"串起来,双击就完事,再也不用敲命令。
- 打包成exe:作者在README里还求过小伙伴帮忙打exe,用Launch4j几分钟就能出一个双击即用的可执行文件,还能自定义图标。
- 自己加功能:源码就一个类,看懂
deleteSubTree就能改。想加日志、加GUI都是顺手的事;想支持其它把试用信息写进注册表的软件,改改路径就行。
最后一句忠告:这工具适合拿来评估、测试、临时续命,别拿它当永久授权用;真要长期干活,花点钱支持正版,写软件的人也得吃饭。
【免费下载链接】navicat-keynavicat-key项目地址: https://gitcode.com/gh_mirrors/na/navicat-key
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考