Navicat12 无限试用

前言

以前自己玩的时候一直用Navicat操作数据库,感觉手感不错
Windows上直接百度破解版用的也挺爽的
然而好景不长,今年5月份我换了Ubuntu做开发机
虽然说Linux版就是wine运行的Windows版,然而因为上班了,因此开始不太信任来源不明的破解版
然后就开始折腾着破解,后来发现还是重置试用期简单点,然后就一直这么无限试用下去了
直到最近又换了Mac。。。

Linux

LinuxNavicat是通过脚本启动的,因此很容易在运行之前插一个脚本,由这个脚本来重置试用期
注意脚本是Python3的,每次运行均会重置试用期到14天,要求64位版Navicat
插在Navicat启动脚本之前即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import os
import re

# 试用时间重置的正则
ps = (
re.compile(r'\[Software\\\\PremiumSoft\\\\Data\\\\\{[^\}]*\}\\\\Info\].*?\n[^\[]*'),
re.compile(r'\[Software\\\\Classes\\\\CLSID\\\\\{[^\}]*\}\\\\Info\].*?\n[^\[]*')
)

# user.reg 的路径
regfile = os.path.join(os.environ['HOME'], '.navicat64', 'user.reg')

# 正则替换
with open(regfile, 'r+') as f:
regstr = f.read()
for p in ps:
regstr = p.sub(lambda m: '', regstr)

f.seek(0, 0)
f.truncate()
f.write(regstr)

Mac

Mac下破解稍微麻烦些,需要删除几个文件,以及修改一个plist文件的内容
但由于修改plist比较麻烦,所以目前的实现是干脆删掉好了
自动化脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
# -------------------------------
# 重置 Navicat 的试用期
# -------------------------------

# 不知道是啥,但是不删就不管用
rm -v ~/Library/Preferences/com.apple.spotsearching.plist

# Navicat
echo "reset Navicat..."
rm -v ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat*/Navicat*/.tc*
rm -v ~/Library/Caches/com.prect.Navicat*/.tc*
rm -v ~/Library/Preferences/com.prect.NavicatPremium*.plist

Windows

由于Windows用的注册表,所以感觉略麻烦,加上我自己不用Windows,所以就简单来了

  1. 关闭Navicat
  2. Win + R,输入regedit回车
  3. 删除HKEY_CURRENT_USER\Software\PremiumSoft\Data
  4. 展开HKEY_CURRENT_USER\Software\Classes\CLSID
  5. 展开每一个子文件夹,如果里面只包含一个名为Info的文件夹,就删掉它