一.1. 准备工作

公钥

  1. -----BEGIN PUBLIC KEY-----
  2. MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQB8vXG0ImYhLHvHhpi5FS3g
  3. d2QhxSQiU6dQ04F1OHB0yRRQ3NXF5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJX
  4. HtQVLXMRms+chomsQCwkDi2jbgUa4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEF
  5. h0N89FV4yGLyDLr+TLqpRecg9pkPnOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZS
  6. I69sPD9xZRt+EciXVQfybI/2SYeAdXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd
  7. +03NU3wvEmLBvGOmNGudocWIF/y3VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/p
  8. AgMBAAE=
  9. -----END PUBLIC KEY-----

私钥

  1. -----BEGIN RSA PRIVATE KEY-----
  2. MIIEogIBAAKCAQB8vXG0ImYhLHvHhpi5FS3gd2QhxSQiU6dQ04F1OHB0yRRQ3NXF
  3. 5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJXHtQVLXMRms+chomsQCwkDi2jbgUa
  4. 4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEFh0N89FV4yGLyDLr+TLqpRecg9pkP
  5. nOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZSI69sPD9xZRt+EciXVQfybI/2SYeA
  6. dXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd+03NU3wvEmLBvGOmNGudocWIF/y3
  7. VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/pAgMBAAECggEAK5qZbYt8wenn1uZg
  8. 6onRwJ5bfUaJjApL+YAFx/ETtm83z9ByVbx4WWT7CNC7fK1nINy20/mJrOTZkgIx
  9. x6otiNC4+DIsACJqol+RLoo8I9pk77Ucybn65ZteOz7hVZIU+8j6LzW0KDt6yowX
  10. e75r7G/NEpfibNc3Zz81+oDd2x+bHyGbzc9QcePIVuEzkof6jgpbWrQZU14itx9l
  11. VxEgj/fbMccvBx8brR/l9ClmDZd9Y6TWsF1rfJpF3+DPeqFkKCiD7PGz3bs4O/Zd
  12. ZrfV21ZNVusBW49G6bU63gQVKsOf1qGo3efbAW1HVxgTQ/lExVdcMvdenZm+ADKp
  13. L4/wUQKBgQDOfBjn3OC2IerUFu18EgCS7pSjTSibXw+TeX3D5zwszLC091G2rGlT
  14. 5DihBUhMfesNdpoZynrs4YB6Sz9C3wSGAB8AM/tNvPhtSVtbMHmrdT2DEEKCvLkO
  15. RNBnt+8aTu2hGRanw9aL1189gzwrmXK5ZuuURfgLrB9ihrvjo4VznQKBgQCapx13
  16. dEA1MwapBiIa3k8hVBCoGPsEPWqM33RBdUqUsP33f9/PCx00j/akwmjgQNnBlAJo
  17. Y7LOqPCyiwOkEf40T4IlHdzYntWQQvHhfBwqSgdkTE9tKj43Ddr7JVFRL6yMSbW3
  18. 9qAp5UX/+VzOLGAlfzJ8CBnkXwGrnKPCVbnZvQKBgQCd+iof80jlcCu3GteVrjxM
  19. LkcAbb8cqG1FWpVTNe4/JFgqDHKzPVPUgG6nG2CGTWxxv4UFKHpGE/11E28SHYjb
  20. cOpHAH5LqsGy84X2za649JkcVmtclUFMXm/Ietxvl2WNdKF1t4rFMQFIEckOXnd8
  21. y/Z/Wcz+OTFF82l7L5ehrQKBgFXl9m7v6e3ijpN5LZ5A1jDL0Yicf2fmePUP9DGb
  22. ZTZbbGR46SXFpY4ZXEQ9GyVbv9dOT1wN7DXvDeoNXpNVzxzdAIt/H7hN2I8NL+4v
  23. EjHG9n4WCJO4v9+yWWvfWWA/m5Y8JqusV1+N0iiQJ6T4btrE4JSVp1P6FSJtmWOK
  24. W/T9AoGAcMhPMCL+N+AvWcYt4Y4mhelvDG8e/Jj4U+lwS3g7YmuQuYx7h5tjrS33
  25. w4o20g/3XudPMJHhA3z+d8b3GaVM3ZtcRM3+Rvk+zSOcGSwn3yDy4NYlv9bdUj/4
  26. H+aU1Qu1ZYojFM1Gmbe4HeYDOzRsJ5BhNrrV12h27JWkiRJ4F/Q=
  27. -----END RSA PRIVATE KEY-----

在线生成

http://web.chacuo.net/netrsakeypair
不需要输入密钥加密密码,生成密钥对后,复制到记事本里保存,后面步骤使用,如下图:

Navicat Premium [for Mac] v12.0.23 密钥破解 - 图2


2. 安装程序,并替换应用包内容目录中rpk文件的公钥

旧版本

/Applications/Navicat Premium.app/Contents/Resources/rpk
Navicat Premium [for Mac] v12.0.23 密钥破解 - 图3

新版本

/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium
Navicat Premium [for Mac] v12.0.23 密钥破解 - 图4
可以使用ida之类的工具搜索PUBLIC KEY,找到公钥后修改为自己的公钥即可。
如果没有这些工具,也可以用vim来进行修改:

  1. vim Navicat\ Premium

  2. 在英文输入法环境下输入 /PUBLIC KEY 按回车键,找到公钥

  3. 按i进入编辑状态,修改破解时生成的公钥即可。^@ 为换行符,不需要修改。

  4. 输入 :wq 按回车键,保存退出

Navicat Premium [for Mac] v12.0.23 密钥破解 - 图5

重新签名

新版本里修改了Navicat Premium 后完整性被破坏,官方签名自动失效,macOS禁止未签名的程序访问钥匙串(Keychain),因为navicat premium的数据库连接信息是保存在钥匙串中的,所以需要重新进行签名,否则会造成数据库连接信息无法保存或读取错误

  1. 生成代码证书
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图6
    打开钥匙串(Keychain)
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图7
    除了证书名称,其余选项请与下图保持一致,勾选‘让我覆盖这些默认值’点击继续,弹出提示框点击继续。
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图8
    证书默认有效期为一年,所以需要修改默认值,7300天接近20年,够用了,点击继续
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图9
    邮件地址随便写,名称保持默认的即可,点击继续—>一路继续—>创建—>完成

  2. 信任证书
    在钥匙串‘我的证书’种类中可以看到我们刚创建好的证书,接下来需要信任自己创建的证书:
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图10
    选中刚创建好的证书,右键点击显示简介
    Navicat Premium [for Mac] v12.0.23 密钥破解 - 图11
    选择始终信任,关闭窗口时提示输入密码,输入电脑登录账户的密码或验证指纹即可

  3. 签名

    1. codesign -f -s '重签名navicat' /Applications/Navicat\ Premium.app/Contents/MacOS/Navicat\ Premium

    弹出验证窗口,输入电脑登录账户的密码即可,稍等片刻即可完成签名,至此已完美破解!

    如果提示如下图,说明xcode没安装,运行:xcode-select --install 安装后,再签名。

Navicat Premium [for Mac] v12.0.23 密钥破解 - 图12


3. 算出有效的Mac版序列号密钥

使用我算好的密钥可以跳过此步,继续第四步,节省时间。
中文版64位密钥序列号: NAVH-T4PX-WT8W-QBL5
英文版64位密钥序列号: NAVG-UJ8Z-EVAP-JAUW


4. 解密激活请求码,生成激活码

  1. 打开应用,断网!!!,点击注册,输入密钥,然后手动激活。

  2. 复制离线激活请求码,使用准备工作提供的私钥,用RSA解密请求码得到激活码明文,以下是激活码明文例子:

    1. {
    2. "K" : "NAVGUJ8ZEVAPJAUW",
    3. "P" : "Mac 10.14",
    4. "DI" : "NThiZTUxM2JmYjVmYzM4"
    5. }

    在线RSA:http://tool.chacuo.net/cryptrsaprikey

  1. 将上一步得到到激活码明文,改变 “” 内的字符得到新的激活码明文,在同一行哦,不要换行,否则激活失败!
    “K” 和 “DI” 必须与刚解密的激活码明文中的”K” 和 “DI” 信息一致,”N” “O” “T” 三个key自定义,”T” 是UNIX时间格式的整数,没有引号,需要替换成当前的时间戳(10位),否则可能不成功,以下是修改后的激活码明文的一个例子:
    1. {"K":"NAVGUJ8ZEVAPJAUW", "N":"name", "O":"o", "DI":"NThiZTUxM2JmYjVmYzM4", "T":1516939200}

    必须自己解密,因为解密后得到的“DI”是不同的。

  1. 把修改后的激活码明文复制到RSA加密工具,同时也复制第一步的私钥到加密工具,就能生成标准的激活码了

    在线RSA:http://tool.chacuo.net/cryptrsaprikey


5. 解密

Navicat Premium [for Mac] v12.0.23 密钥破解 - 图13


二. 参考地址

https://www.52pojie.cn/thread-692132-1-1.html
https://blog.csdn.net/womeng2009/article/details/79700667
https://github.com/DoubleLabyrinth/navicat-keygen/blob/mac/README.zh-CN.md


三.完全卸载navicat premium中文版

  1. rm -rf ~/Library/Caches/com.apple.helpd/SDMHelpData/Other/zh_CN/com.prect.*
  2. rm -rf ~/Library/Preferences/com.prect.Navicat*
  3. rm -rf ~/Library/Application\ Support/CrashReporter/Navicat*
  4. rm -rf ~/Library/Application\ Support/PremiumSoft\ CyberTech

数据库连接信息存放在macOS应用钥匙串(Keychain)中,根据需求将名称为com.prect.Navi*的数据删除即可 Navicat Premium [for Mac] v12.0.23 密钥破解 - 图14