1. 程式人生 > 實用技巧 >Navicat12 無限試用(Windows64、Linux、Mac)

Navicat12 無限試用(Windows64、Linux、Mac)

Navicat12 無限試用(Windows64、Linux、Mac)

以前自己玩的時候一直用Navicat操作資料庫,感覺手感不錯
Windows上直接百度破解版用的也挺爽的
然而好景不長,今年5月份我換了Ubuntu做開發機
雖然說Linux版就是wine執行的Windows版,然而因為上班了,因此開始不太信任來源不明的破解版
然後就開始折騰著破解,後來發現還是重置試用期簡單點,然後就一直這麼無限試用下去了
直到最近又換了Mac。。。

Linux

LinuxNavicat是通過指令碼啟動的,因此很容易在執行之前插一個指令碼,由這個指令碼來重置試用期
注意指令碼是Python3的,每次執行均會重置試用期到14

天,要求64位版Navicat
插在Navicat啟動指令碼之前即可

#!/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檔案的內容
自動化指令碼如下:

#!/bin/bash
# -------------------------------
# 重置 Navicat 的試用期
# 僅適用於 12.1,其他版本請自己修改最下面幾行的 121 部分
# -------------------------------

# Navicat
echo "reset Navicat..."
rm -fv ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat*/Navicat*/.etc* 2>/dev/null
rm -fv ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat*/Navicat*/.tc* 2>/dev/null
rm -fv ~/Library/Caches/com.prect.Navicat*/.tc* 2>/dev/null
rm -fv ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat*/Navicat*/.afksopoorn* 2>/dev/null
plutil -replace ptc121 -string $(date -u +%Y%m%d) ~/Library/Preferences/com.prect.NavicatPremium*.plist
plutil -replace ptcl121 -string $(date -u +%Y%m%d) ~/Library/Preferences/com.prect.NavicatPremium*.plist
plutil -replace afksopoorn121 -string $(date -u +%Y%m%d) ~/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的資料夾,就刪掉它