小萌博客 - 既是个人原创，又是汇聚分享 - immoe.org - Navicat Premium 试用
全篇转载自 @如有乐享 ，由 小萌 进行编辑，本文仅作存档使用前几天又重装了一下电脑~ 于是又要安装Navicat Premium的时候，发现官方发布了 Navicat Premium 16 版本！下载安装完发现UI比之前确实清新了不少~ LOGO也变成金色的了！哎嗨，问题来了。咋激活呢？翻了一圈，博主并没有找到开源代码的破解激活工具。于是马甲就想起了之前的重置试用的路子！！Navicat Premium 15 怎么激活？参考历史文章： 注册激活Navicat全系产品的开源代码分享 替换DLL目前网上有不少替换DLL文件激活的方式。如果大家想用自己去搜索吧。我这里不推荐了。你懂的~~~~无限试用这是目前博主主要推荐的方式！原理：就是清除注册表相关信息实现再次试用14天！该方式试用目前 Navicat Premium 大部分的版本。好处：不担心各种软件后门问题！ 缺点：每次启动软件都会提示试用时间，仅支持 Navicat Premium好嘞，下面就介绍一下如何重置试用！手动打开系统注册表找到以下位置 HKEY_CURRENT_USER\Software\Classes\CLSID\ {FCABAC0C-4447-F047-51F3-7E27276ECA6F} \Info提醒一下：不同系统红色ID 可能不一样哦~！直接将 Info 目录删除即可！脚本以下是 Python3 代码保存成 xx.py直接执行：python3 xx.pyimport winreg import os import time from collections import deque from typing import Any # root HKEY_CURRENT_USER = winreg.HKEY_CURRENT_USER # key path PREMIUM_PATH = r'Software\PremiumSoft' CLSID_PATH = r'Software\Classes\CLSID' def get_sub_keys(root: Any, reg_path: str) -> list: """This function will retrieve a list of sub-keys under the path of `root` + `reg_path`. Args: root(Any): Root registry. reg_path(str): The relative specific path under the root registry. Returns: The list of sub-keys. """ key_result = winreg.OpenKeyEx(root, reg_path) i: int = 0 sub_keys_list: list = list() while True: try: sub_keys = winreg.EnumKey(key_result, i) sub_keys_list.append(sub_keys) i += 1 except Exception as e: break return sub_keys_list def get_all_keys(root: Any, key_path: str) -> list: """Get the list of absolute path of all entries under the specified path through the deque. Args: root(Any): Root registry. key_path(str): The relative specific path under the root registry. Returns: A list of all entries under the keys. """ all_keys_list: list = list() qeque = deque() qeque.append(key_path) while len(qeque) != 0: sub_key_path = qeque.popleft() for item in get_sub_keys(root, sub_key_path): item_path = os.path.join(sub_key_path, item) if len(get_sub_keys(root, item_path)) != 0: qeque.append(item_path) all_keys_list.append(item_path) else: all_keys_list.append(item_path) return all_keys_list def main(): """The entry function to be executed. Returns: None """ clsid_all_keys_list = get_all_keys(HKEY_CURRENT_USER, CLSID_PATH) premium_all_keys_list = get_all_keys(HKEY_CURRENT_USER, PREMIUM_PATH) premium_sub_keys_list = [os.path.join(PREMIUM_PATH, item) for item in get_sub_keys(HKEY_CURRENT_USER, PREMIUM_PATH)] print(f"premium_sub_keys_list: {premium_sub_keys_list}") for clsid_item in clsid_all_keys_list: if "Info" in clsid_item: clsid_item_prefix = os.path.dirname(clsid_item) print(f"# Info item: {clsid_item}") winreg.DeleteKeyEx(HKEY_CURRENT_USER, clsid_item) winreg.DeleteKeyEx(HKEY_CURRENT_USER, clsid_item_prefix) # The outermost folder is not deleted. for premium_item in reversed(premium_all_keys_list): if "Servers" in premium_item: print(f"Tips: Servers => {premium_item} will not be deleted.") pass elif premium_item in premium_sub_keys_list: print(f"Tips: Servers => {premium_item} will not be deleted.") pass else: winreg.DeleteKeyEx(HKEY_CURRENT_USER, premium_item) if __name__ == "__main__": print("Start to delete registry...") main() print("Task done.", "Windows will closed after 5 seconds...", sep="\n") for i in range(5): time.sleep(1) print("*" * (i + 1))没有python 环境的可以直接下载下面的exe，直接运行即可！链接：https://url85.ctfile.com/f/21259585-530797466-57a016 （访问密码：9197）当然上面的Python太麻烦？可以直接利用bat脚本！更简单！将以下内容保存成xxx.bat 直接运行xxx.bat 即可！@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项目：https://github.com/malaohu/reset-navicat-premium/blob/main/reset.bat手动执行比较麻烦可以利用 Windows 定时任务！参考：https://github.com/Abeautifulsnow/navicat-premium-crack/