Navicat Premium是个好东西,但价格相当贵,我买过Navicat MySQL,整整1000多,还是折扣买的。因为只买了mac版本,Windows用不了,所以我找到了白嫖的办法,仅作为学习使用。
macOS
新建一个脚本,resetnavicat.sh
#!/bin/bash
set -e
file=$(defaults read /Applications/Navicat\ Premium.app/Contents/Info.plist)
regex="CFBundleShortVersionString = \"([^\.]+)"
[[ $file =~ $regex ]]
version=${BASH_REMATCH[1]}
echo "Detected Navicat Premium version $version"
case $version in
"16")
file=~/Library/Preferences/com.navicat.NavicatPremium.plist
;;
"15")
file=~/Library/Preferences/com.prect.NavicatPremium15.plist
;;
*)
echo "Version '$version' not handled"
exit 1
;;
esac
echo -n "Reseting trial time..."
regex="([0-9A-Z]{32}) = "
[[ $(defaults read $file) =~ $regex ]]
hash=${BASH_REMATCH[1]}
if [ ! -z $hash ]; then
defaults delete $file $hash
fi
regex="\.([0-9A-Z]{32})"
[[ $(ls -a ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat\ CC/Navicat\ Premium/ | grep '^\.') =~ $regex ]]
hash2=${BASH_REMATCH[1]}
if [ ! -z $hash2 ]; then
rm ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat\ CC/Navicat\ Premium/.$hash2
fi
echo " Done"
resetnavicat.sh执行
bash ~/resetnavicat.sh
Detected Navicat Premium version 16
Reseting trial time... Done
ZshWindows
创建脚本reset.bat
@echo off
set dn=Info
set rp=HKEY_CURRENT_USER\Software\Classes\CLSID
:: reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration14XCS /f %针对navicat15%
reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration16XCS /f
reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Update /f
echo 查找中.....
for /f "tokens=*" %%a in ('reg query "%rp%"') do (
echo %%a
for /f "tokens=*" %%l in ('reg query "%%a" /f "%dn%" /s /e ^|findstr /i "%dn%"') do (
echo 正在删除:%%a
reg delete %%a /f
)
)
echo 完成重置!
pause
exit
Zsh双击执行即可。
推荐
最后,如果资金实力雄厚,小康家庭,建议支持下,1000多买一个mysql,几乎可以永久使用,东西是个好东西,但对我这等贫民不太友好,虽然我也支持了一下,可惜我的使用场景很杂,只能利用规则漏洞来白嫖了,等我年薪百万以后一定再次支持。