一.1. 准备工作
公钥
-----BEGIN PUBLIC KEY-----MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQB8vXG0ImYhLHvHhpi5FS3gd2QhxSQiU6dQ04F1OHB0yRRQ3NXF5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJXHtQVLXMRms+chomsQCwkDi2jbgUa4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEFh0N89FV4yGLyDLr+TLqpRecg9pkPnOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZSI69sPD9xZRt+EciXVQfybI/2SYeAdXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd+03NU3wvEmLBvGOmNGudocWIF/y3VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/pAgMBAAE=-----END PUBLIC KEY-----
私钥
-----BEGIN RSA PRIVATE KEY-----MIIEogIBAAKCAQB8vXG0ImYhLHvHhpi5FS3gd2QhxSQiU6dQ04F1OHB0yRRQ3NXF5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJXHtQVLXMRms+chomsQCwkDi2jbgUa4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEFh0N89FV4yGLyDLr+TLqpRecg9pkPnOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZSI69sPD9xZRt+EciXVQfybI/2SYeAdXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd+03NU3wvEmLBvGOmNGudocWIF/y3VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/pAgMBAAECggEAK5qZbYt8wenn1uZg6onRwJ5bfUaJjApL+YAFx/ETtm83z9ByVbx4WWT7CNC7fK1nINy20/mJrOTZkgIxx6otiNC4+DIsACJqol+RLoo8I9pk77Ucybn65ZteOz7hVZIU+8j6LzW0KDt6yowXe75r7G/NEpfibNc3Zz81+oDd2x+bHyGbzc9QcePIVuEzkof6jgpbWrQZU14itx9lVxEgj/fbMccvBx8brR/l9ClmDZd9Y6TWsF1rfJpF3+DPeqFkKCiD7PGz3bs4O/ZdZrfV21ZNVusBW49G6bU63gQVKsOf1qGo3efbAW1HVxgTQ/lExVdcMvdenZm+ADKpL4/wUQKBgQDOfBjn3OC2IerUFu18EgCS7pSjTSibXw+TeX3D5zwszLC091G2rGlT5DihBUhMfesNdpoZynrs4YB6Sz9C3wSGAB8AM/tNvPhtSVtbMHmrdT2DEEKCvLkORNBnt+8aTu2hGRanw9aL1189gzwrmXK5ZuuURfgLrB9ihrvjo4VznQKBgQCapx13dEA1MwapBiIa3k8hVBCoGPsEPWqM33RBdUqUsP33f9/PCx00j/akwmjgQNnBlAJoY7LOqPCyiwOkEf40T4IlHdzYntWQQvHhfBwqSgdkTE9tKj43Ddr7JVFRL6yMSbW39qAp5UX/+VzOLGAlfzJ8CBnkXwGrnKPCVbnZvQKBgQCd+iof80jlcCu3GteVrjxMLkcAbb8cqG1FWpVTNe4/JFgqDHKzPVPUgG6nG2CGTWxxv4UFKHpGE/11E28SHYjbcOpHAH5LqsGy84X2za649JkcVmtclUFMXm/Ietxvl2WNdKF1t4rFMQFIEckOXnd8y/Z/Wcz+OTFF82l7L5ehrQKBgFXl9m7v6e3ijpN5LZ5A1jDL0Yicf2fmePUP9DGbZTZbbGR46SXFpY4ZXEQ9GyVbv9dOT1wN7DXvDeoNXpNVzxzdAIt/H7hN2I8NL+4vEjHG9n4WCJO4v9+yWWvfWWA/m5Y8JqusV1+N0iiQJ6T4btrE4JSVp1P6FSJtmWOKW/T9AoGAcMhPMCL+N+AvWcYt4Y4mhelvDG8e/Jj4U+lwS3g7YmuQuYx7h5tjrS33w4o20g/3XudPMJHhA3z+d8b3GaVM3ZtcRM3+Rvk+zSOcGSwn3yDy4NYlv9bdUj/4H+aU1Qu1ZYojFM1Gmbe4HeYDOzRsJ5BhNrrV12h27JWkiRJ4F/Q=-----END RSA PRIVATE KEY-----
在线生成
http://web.chacuo.net/netrsakeypair
不需要输入密钥加密密码,生成密钥对后,复制到记事本里保存,后面步骤使用,如下图:
2. 安装程序,并替换应用包内容目录中rpk文件的公钥
旧版本
/Applications/Navicat Premium.app/Contents/Resources/rpk
新版本
/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium ![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图4](/uploads/projects/mingzibaliao@macos/0a86ccb1b0e1059fef0456acfa589c92.png)
可以使用ida之类的工具搜索PUBLIC KEY,找到公钥后修改为自己的公钥即可。
如果没有这些工具,也可以用vim来进行修改:
vim Navicat\ Premium在英文输入法环境下输入
/PUBLIC KEY按回车键,找到公钥按i进入编辑状态,修改破解时生成的公钥即可。
^@为换行符,不需要修改。输入
:wq按回车键,保存退出
重新签名
新版本里修改了Navicat Premium 后完整性被破坏,官方签名自动失效,macOS禁止未签名的程序访问钥匙串(Keychain),因为navicat premium的数据库连接信息是保存在钥匙串中的,所以需要重新进行签名,否则会造成数据库连接信息无法保存或读取错误
生成代码证书
![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图6](/uploads/projects/mingzibaliao@macos/24bc7b82a6562545e75e8b090e8cbc8c.png)
打开钥匙串(Keychain)![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图7](/uploads/projects/mingzibaliao@macos/6c7b3ba0695c1c115cd37cce70292652.png)
除了证书名称,其余选项请与下图保持一致,勾选‘让我覆盖这些默认值’点击继续,弹出提示框点击继续。![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图8](/uploads/projects/mingzibaliao@macos/e1f1df9ce5b67a17730eb6b8f1279cc3.png)
证书默认有效期为一年,所以需要修改默认值,7300天接近20年,够用了,点击继续![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图9](/uploads/projects/mingzibaliao@macos/7c83233bb1713cd35409798cb54c9f69.png)
邮件地址随便写,名称保持默认的即可,点击继续—>一路继续—>创建—>完成信任证书
在钥匙串‘我的证书’种类中可以看到我们刚创建好的证书,接下来需要信任自己创建的证书:![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图10](/uploads/projects/mingzibaliao@macos/fd896533755044f72abe36af63ec4ade.png)
选中刚创建好的证书,右键点击显示简介![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图11](/uploads/projects/mingzibaliao@macos/390d9abb1cfdc4646148bd660d415f39.png)
选择始终信任,关闭窗口时提示输入密码,输入电脑登录账户的密码或验证指纹即可签名
codesign -f -s '重签名navicat' /Applications/Navicat\ Premium.app/Contents/MacOS/Navicat\ Premium
弹出验证窗口,输入电脑登录账户的密码即可,稍等片刻即可完成签名,至此已完美破解!
如果提示如下图,说明xcode没安装,运行:
xcode-select --install安装后,再签名。
![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图12](/uploads/projects/mingzibaliao@macos/ccb6809bea55151d356cff5bd1c140fe.png)
3. 算出有效的Mac版序列号密钥
使用我算好的密钥可以跳过此步,继续第四步,节省时间。
中文版64位密钥序列号: NAVH-T4PX-WT8W-QBL5
英文版64位密钥序列号: NAVG-UJ8Z-EVAP-JAUW
4. 解密激活请求码,生成激活码
打开应用,断网!!!,点击注册,输入密钥,然后手动激活。
复制离线激活请求码,使用准备工作提供的私钥,用RSA解密请求码得到激活码明文,以下是激活码明文例子:
{"K" : "NAVGUJ8ZEVAPJAUW","P" : "Mac 10.14","DI" : "NThiZTUxM2JmYjVmYzM4"}
- 将上一步得到到激活码明文,改变 “” 内的字符得到新的激活码明文,在同一行哦,不要换行,否则激活失败!
“K” 和 “DI” 必须与刚解密的激活码明文中的”K” 和 “DI” 信息一致,”N” “O” “T” 三个key自定义,”T” 是UNIX时间格式的整数,没有引号,需要替换成当前的时间戳(10位),否则可能不成功,以下是修改后的激活码明文的一个例子:{"K":"NAVGUJ8ZEVAPJAUW", "N":"name", "O":"o", "DI":"NThiZTUxM2JmYjVmYzM4", "T":1516939200}
必须自己解密,因为解密后得到的“DI”是不同的。
- 把修改后的激活码明文复制到RSA加密工具,同时也复制第一步的私钥到加密工具,就能生成标准的激活码了
5. 解密
![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图13](/uploads/projects/mingzibaliao@macos/842f3b9c20f8090b059f566d88d41bda.png)
二. 参考地址
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中文版
rm -rf ~/Library/Caches/com.apple.helpd/SDMHelpData/Other/zh_CN/com.prect.*rm -rf ~/Library/Preferences/com.prect.Navicat*rm -rf ~/Library/Application\ Support/CrashReporter/Navicat*rm -rf ~/Library/Application\ Support/PremiumSoft\ CyberTech
数据库连接信息存放在macOS应用钥匙串(Keychain)中,根据需求将名称为com.prect.Navi*的数据删除即可
![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图14](/uploads/projects/mingzibaliao@macos/a46ece0e972dbdf92ce286b30132d045.png)
![Navicat Premium [for Mac] v12.0.23 密钥破解 - 图1](/uploads/projects/mingzibaliao@macos/0d6ce1530772dcb26906fc4188cc6f11.png)
