commit ef62d8e713f5ca26a8afa2504fb0e4899a1f053d Author: jianglong Date: Sun Jun 15 21:29:16 2025 +0800 初始化提交 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..7d05e99 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# 依赖于环境的 Maven 主目录路径 +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/fastRequest/fastRequestCurrentProjectLocalConfig.xml b/.idea/fastRequest/fastRequestCurrentProjectLocalConfig.xml new file mode 100644 index 0000000..e62f560 --- /dev/null +++ b/.idea/fastRequest/fastRequestCurrentProjectLocalConfig.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/material_theme_project_new.xml b/.idea/material_theme_project_new.xml new file mode 100644 index 0000000..72816f7 --- /dev/null +++ b/.idea/material_theme_project_new.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..47478b9 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..72481c0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/navicat-command-script.iml b/.idea/navicat-command-script.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/navicat-command-script.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Mac/16X/com.chaofan.reset.navicat.premium.trial.period.plist b/Mac/16X/com.chaofan.reset.navicat.premium.trial.period.plist new file mode 100644 index 0000000..4b37707 --- /dev/null +++ b/Mac/16X/com.chaofan.reset.navicat.premium.trial.period.plist @@ -0,0 +1,37 @@ + + + + + Label + + com.chaofan.reset.navicat.premium.trial.period + + Program + /Users/chaofan/Public/MyShell/reset_navicat.sh + ProgramArguments + + /Users/chaofan/Public/MyShell/reset_navicat.sh + + + RunAtLoad + + + StartCalendarInterval + + + Hour + 9 + Minute + 10 + + + + + StandardOutPath + /Users/chaofan/Public/MyShell/reset_navicat.log + + StandardErrorPath + /Users/chaofan/Public/MyShell/reset_navicat.log + + \ No newline at end of file diff --git a/Mac/16X/reset_navicat.sh b/Mac/16X/reset_navicat.sh new file mode 100755 index 0000000..627eddc --- /dev/null +++ b/Mac/16X/reset_navicat.sh @@ -0,0 +1,4 @@ +#!/bin/bash +defaults delete com.navicat.NavicatPremium 91F6C435D172C8163E0689D3DAD3F3E9 +defaults delete com.navicat.NavicatPremium B966DBD409B87EF577C9BBF3363E9614 +rm -rf ~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat\ CC/Navicat\ Premium/ \ No newline at end of file diff --git a/Mac/16X/reset_navicat_by_52pojie.sh b/Mac/16X/reset_navicat_by_52pojie.sh new file mode 100755 index 0000000..dec46e9 --- /dev/null +++ b/Mac/16X/reset_navicat_by_52pojie.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# https://www.52pojie.cn/forum.php?mod=viewthread&tid=1669993 + +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" \ No newline at end of file diff --git a/Mac/17X/long-trial.sh b/Mac/17X/long-trial.sh new file mode 100644 index 0000000..aa4b2d6 --- /dev/null +++ b/Mac/17X/long-trial.sh @@ -0,0 +1,50 @@ +#!/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 + "17") + file=~/Library/Preferences/com.navicat.NavicatPremium.plist + ;; + "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" \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..379f6e2 --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ + +-------------------------- + + +# Mac/Win定时自动重置NavicatPremium16试用期 + +## 重要提示 + +- **使用脚本重置试用期前请务必备份一下数据库连接,防止意外丢失连接!!!** +- **使用脚本重置试用期前请务必备份一下数据库连接,防止意外丢失连接!!!** +- **使用脚本重置试用期前请务必备份一下数据库连接,防止意外丢失连接!!!** + +## 免责声明 + +本脚本为网络收集而来,免费使用,只供个人学习使用,使用需严格遵守开源许可协议。严禁用于商业用途,禁止进行任何盈利活动。对一切非法使用所产生的后果,概不负责!如有侵权,立删! + +## 脚本说明 + +- 脚本只对`Navicat Premium 16`有效,其他版本暂未测试 +- 脚本不会破解程序,仅仅是删除了Navicat试用期相关的文件数据,以达到无限试用的目的,因此大家最好在[官网](http://www.navicat.com.cn/download/navicat-premium)下载Navicat才最安全,且后续升级方便 +- Mac使用`reset_navicat.sh`或者 `reset_navicat_by_52pojie.sh`,Win使用`reset_for_windows.bat`(首选)或`reset_navicat.exe` +- 后面主要介绍的是如何在两个系统上设置定时任务自动执行各自的脚本 + +## 使用说明 + +**我们假定让自己的电脑在每天上午9:10自动执行脚本重置Navicat Premium 16试用期,下面是操作步骤。** + +### Mac + +1. 下载`com.chaofan.reset.navicat.premium.trial.period.plist`、`reset_navicat.sh`或`reset_navicat_by_52pojie.sh` + > 此时只要使用命令`chmod u+x xxx.sh`给`reset_navicat.sh`或`reset_navicat_by_52pojie.sh`文件赋予可执行权限,然后双击执行该脚本即可重置NP16的试用期。 + +2. 按照注释修改`com.chaofan.reset.navicat.premium.trial.period.plist`文件 + + ```xml + + + + + Label + + com.chaofan.reset.navicat.premium.trial.period + + Program + /Users/chaofan/Public/MyShell/reset_navicat.sh + ProgramArguments + + /Users/chaofan/Public/MyShell/reset_navicat.sh + + + RunAtLoad + + + StartCalendarInterval + + + Hour + 9 + Minute + 10 + + + StandardOutPath + /Users/chaofan/Public/MyShell/reset_navicat.log + + StandardErrorPath + /Users/chaofan/Public/MyShell/reset_navicat.log + + + ``` + +3. 打开终端,切换到当前目录,依次执行下面的命令加载定时任务 + + ```shell + # 为reset_navicat.sh文件授予可执行权限 + chmod u+x reset_navicat.sh + # 将com.chaofan.reset.navicat.premium.trial.period.plist复制到~/Library/LaunchAgents文件夹中,当前用户登录后便会自动加载该定时任务 + cp com.chaofan.reset.navicat.premium.trial.period.plist ~/Library/LaunchAgents/com.chaofan.reset.navicat.premium.trial.period.plist + # 加载定时任务,如果没有报错则任务就加载成功了,会按照计划执行重置脚本,如果上面开启了加载即执行任务和任务日志输出,此时可以去查看日志文件,获取脚本执行情况 + launchctl load -w ~/Library/LaunchAgents/com.chaofan.reset.navicat.premium.trial.period.plist + # 如果要调整plist文件或是停止任务,请执行以下命令后再进行调整,更多launchctl使用技巧请看文末的参考链接 + launchctl unload -w ~/Library/LaunchAgents/com.chaofan.reset.navicat.premium.trial.period.plist + ``` + +### Win + +1. 首先[下载](https://gitee.com/chaofan2685_admin/reset_navicat_premium_for_mac/releases)`reset_for_windows.bat`,双击执行即可即可重置NP16的试用期 +2. `Win+R`打开运行窗口,输入`taskschd.msc`点确定打开`任务计划程序` +3. 鼠标右击`任务计划程序库`,选择`创建基本任务(B)...`,打开`创建基本任务向导`窗口 +4. 在`名称(A):`处填写一个自己喜欢的名称,之后点击`下一步(N) >` +5. `希望该任务何时开始?`默认选`每天(D)`即可,之后点击`下一步(N) >` +6. 将`开始(S):`处的时间调整到上午9:10,日期和其他选项保持不变即可,之后点击`下一步(N) >` +7. `希望该任务执行什么操作?`默认选`启动程序(T)`,之后点击`下一步(N) >` +8. 点击`浏览(R)...`,找到并双击上面下载的`reset_for_windows.bat`,之后点击`下一步(N) >` +9. 点击`完成(F)` +![操作流程](Win/16X/iShot2022-04-18_11.07.08.gif) + +## 参考连接 + +- [yhan219/navicat_reset_mac: navicat16 mac版无限重置试用期脚本 (github.com)](https://github.com/yhan219/navicat_reset_mac) +- [Mac 下的定时任务工具:Launchctl](http://wu.run/2019/03/27/mac-launchctl-guidance/) +- [Abeautifulsnow/navicat-premium-crack: This script is used to crack navicat premium application for another 14 days trial. (github.com)](https://github.com/Abeautifulsnow/navicat-premium-crack/) +- [吾爱破解-Mac版本 Navicat16无限试用方案](https://www.52pojie.cn/forum.php?mod=viewthread&tid=1669993) \ No newline at end of file diff --git a/Win/16X/reset_for_windows.bat b/Win/16X/reset_for_windows.bat new file mode 100644 index 0000000..5049b6f --- /dev/null +++ b/Win/16X/reset_for_windows.bat @@ -0,0 +1,17 @@ +@echo off + +echo Delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration[version and language] +for /f %%i in ('"REG QUERY "HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium" /s | findstr /L Registration"') do ( + reg delete %%i /va /f +) +echo. + +echo Delete Info folder under HKEY_CURRENT_USER\Software\Classes\CLSID +for /f %%i in ('"REG QUERY "HKEY_CURRENT_USER\Software\Classes\CLSID" /s | findstr /E Info"') do ( + reg delete %%i /va /f +) +echo. + +echo Finish + +pause diff --git a/Win/16X/reset_for_windows_20230730.bat b/Win/16X/reset_for_windows_20230730.bat new file mode 100644 index 0000000..f4bd74e --- /dev/null +++ b/Win/16X/reset_for_windows_20230730.bat @@ -0,0 +1,22 @@ +@echo off +set dn=Info +set dn2=ShellFolder +set rp=HKEY_CURRENT_USER\Software\Classes\CLSID +reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration16XCS /f +reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Update /f +echo finding..... +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 deleteing: %%a + reg delete %%a /f + ) + for /f "tokens=*" %%l in ('reg query "%%a" /f "%dn2%" /s /e ^|findstr /i "%dn2%"') do ( + echo deleteing: %%a + reg delete %%a /f + ) +) +echo re trial done! + +pause +exit \ No newline at end of file diff --git a/Win/16X/reset_navicat.exe b/Win/16X/reset_navicat.exe new file mode 100755 index 0000000..77ae550 Binary files /dev/null and b/Win/16X/reset_navicat.exe differ diff --git a/Win/16X/系统定时服务.gif b/Win/16X/系统定时服务.gif new file mode 100644 index 0000000..0845dd7 Binary files /dev/null and b/Win/16X/系统定时服务.gif differ