一.1. 准备工作
公钥
-----BEGIN PUBLIC KEY-----
MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQB8vXG0ImYhLHvHhpi5FS3g
d2QhxSQiU6dQ04F1OHB0yRRQ3NXF5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJX
HtQVLXMRms+chomsQCwkDi2jbgUa4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEF
h0N89FV4yGLyDLr+TLqpRecg9pkPnOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZS
I69sPD9xZRt+EciXVQfybI/2SYeAdXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd
+03NU3wvEmLBvGOmNGudocWIF/y3VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/p
AgMBAAE=
-----END PUBLIC KEY-----
私钥
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQB8vXG0ImYhLHvHhpi5FS3gd2QhxSQiU6dQ04F1OHB0yRRQ3NXF
5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJXHtQVLXMRms+chomsQCwkDi2jbgUa
4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEFh0N89FV4yGLyDLr+TLqpRecg9pkP
nOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZSI69sPD9xZRt+EciXVQfybI/2SYeA
dXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd+03NU3wvEmLBvGOmNGudocWIF/y3
VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/pAgMBAAECggEAK5qZbYt8wenn1uZg
6onRwJ5bfUaJjApL+YAFx/ETtm83z9ByVbx4WWT7CNC7fK1nINy20/mJrOTZkgIx
x6otiNC4+DIsACJqol+RLoo8I9pk77Ucybn65ZteOz7hVZIU+8j6LzW0KDt6yowX
e75r7G/NEpfibNc3Zz81+oDd2x+bHyGbzc9QcePIVuEzkof6jgpbWrQZU14itx9l
VxEgj/fbMccvBx8brR/l9ClmDZd9Y6TWsF1rfJpF3+DPeqFkKCiD7PGz3bs4O/Zd
ZrfV21ZNVusBW49G6bU63gQVKsOf1qGo3efbAW1HVxgTQ/lExVdcMvdenZm+ADKp
L4/wUQKBgQDOfBjn3OC2IerUFu18EgCS7pSjTSibXw+TeX3D5zwszLC091G2rGlT
5DihBUhMfesNdpoZynrs4YB6Sz9C3wSGAB8AM/tNvPhtSVtbMHmrdT2DEEKCvLkO
RNBnt+8aTu2hGRanw9aL1189gzwrmXK5ZuuURfgLrB9ihrvjo4VznQKBgQCapx13
dEA1MwapBiIa3k8hVBCoGPsEPWqM33RBdUqUsP33f9/PCx00j/akwmjgQNnBlAJo
Y7LOqPCyiwOkEf40T4IlHdzYntWQQvHhfBwqSgdkTE9tKj43Ddr7JVFRL6yMSbW3
9qAp5UX/+VzOLGAlfzJ8CBnkXwGrnKPCVbnZvQKBgQCd+iof80jlcCu3GteVrjxM
LkcAbb8cqG1FWpVTNe4/JFgqDHKzPVPUgG6nG2CGTWxxv4UFKHpGE/11E28SHYjb
cOpHAH5LqsGy84X2za649JkcVmtclUFMXm/Ietxvl2WNdKF1t4rFMQFIEckOXnd8
y/Z/Wcz+OTFF82l7L5ehrQKBgFXl9m7v6e3ijpN5LZ5A1jDL0Yicf2fmePUP9DGb
ZTZbbGR46SXFpY4ZXEQ9GyVbv9dOT1wN7DXvDeoNXpNVzxzdAIt/H7hN2I8NL+4v
EjHG9n4WCJO4v9+yWWvfWWA/m5Y8JqusV1+N0iiQJ6T4btrE4JSVp1P6FSJtmWOK
W/T9AoGAcMhPMCL+N+AvWcYt4Y4mhelvDG8e/Jj4U+lwS3g7YmuQuYx7h5tjrS33
w4o20g/3XudPMJHhA3z+d8b3GaVM3ZtcRM3+Rvk+zSOcGSwn3yDy4NYlv9bdUj/4
H+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
可以使用ida之类的工具搜索PUBLIC KEY,找到公钥后修改为自己的公钥即可。
如果没有这些工具,也可以用vim
来进行修改:
vim Navicat\ Premium
在英文输入法环境下输入
/PUBLIC KEY
按回车键,找到公钥按i进入编辑状态,修改破解时生成的公钥即可。
^@
为换行符,不需要修改。输入
:wq
按回车键,保存退出
重新签名
新版本里修改了Navicat Premium 后完整性被破坏,官方签名自动失效,macOS禁止未签名的程序访问钥匙串(Keychain),因为navicat premium的数据库连接信息是保存在钥匙串中的,所以需要重新进行签名,否则会造成数据库连接信息无法保存或读取错误
生成代码证书
打开钥匙串(Keychain)
除了证书名称,其余选项请与下图保持一致,勾选‘让我覆盖这些默认值’点击继续,弹出提示框点击继续。
证书默认有效期为一年,所以需要修改默认值,7300天接近20年,够用了,点击继续
邮件地址随便写,名称保持默认的即可,点击继续—>一路继续—>创建—>完成信任证书
在钥匙串‘我的证书’种类中可以看到我们刚创建好的证书,接下来需要信任自己创建的证书:
选中刚创建好的证书,右键点击显示简介
选择始终信任,关闭窗口时提示输入密码,输入电脑登录账户的密码或验证指纹即可签名
codesign -f -s '重签名navicat' /Applications/Navicat\ Premium.app/Contents/MacOS/Navicat\ Premium
弹出验证窗口,输入电脑登录账户的密码即可,稍等片刻即可完成签名,至此已完美破解!
如果提示如下图,说明xcode没安装,运行:
xcode-select --install
安装后,再签名。
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. 解密
二. 参考地址
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*的数据删除即可