1 下載
下載地址 https://www.navicat.com/en/products
mac安裝過(guò)程省略,一直按照下去最后放到Application即可;
2 破解
本次的破解使用的是 navicat-keygen
1)下載 Navicat-keygen 項(xiàng)目
alex:projects $ git clone https://github.com/DoubleLabyrinth/navicat-keygen
2) 進(jìn)入項(xiàng)目
alex:projects $ cd navicat-keygen/
3) 切換 mac 分支
alex:navicat-keygen $ git checkout mac
4) 編譯前準(zhǔn)備
$ brew install openssl
$ brew install capstone
$ brew install keystone
$ brew install rapidjson
5) 進(jìn)入到navicat-patcher 并編譯
alex:navicat-keygen $ make all
//編譯之后,會(huì)有著兩個(gè)文件
alex:navicat-keygen $ ls bin
navicat-keygen navicat-patcher
6) 編譯好navicat-keygen, navicat-patcher之后,記得備份你的app
甚至備份整個(gè) Contents,都可以。
7) 使用navicat-patcher替換掉公鑰:
Usage:
navicat-patcher <navicat executable file> [RSA-2048 PrivateKey(PEM file)]
-
<navicat executable file>: Navicat可執(zhí)行文件的路徑。這個(gè)參數(shù)必須指定。
-
[RSA-2048 PrivateKey(PEM file)]: RSA-2048私鑰文件的路徑。這個(gè)參數(shù)是可選的。 如果沒(méi)有指定,
navicat-patcher將會(huì)在當(dāng)前目錄下生成一個(gè)新的RSA-2048私鑰文件RegPrivateKey.pem。
我使用最簡(jiǎn)單的用法,不指定:
alex:navicat-keygen $ cd bin
alex:bin $ ls
navicat-keygen navicat-patcher
alex:bin $ ./navicat-patcher /Applications/Navicat\Premium.app/Contents/MacOS/Navicat\ Premium
如上圖:這只是樣例生成RSA public key一部分。
在bin里面生成了RegPrivateKey.pem
僅對(duì) Navicat Premium 版本 < 12.0.24 的說(shuō)明:
如果你的Navicat版本小于12.0.24,那么navicat-patcher將會(huì)終止并且不會(huì)修改目標(biāo)文件。
你必須使用openssl生成RegPrivateKey.pem和rpk文件:
$ openssl genrsa -out RegPrivateKey.pem 2048
$ openssl rsa -in RegPrivateKey.pem -pubout -out rpk
接著用剛生成的rpk文件替換
/Applications/Navicat Premium.app/Contents/Resources/rpk
8) 重要的一步:生成一份自簽名的代碼證書,并總是信任該證書
用codesign對(duì)Navicat Premium.app重簽名
$ codesign -f -s "Your self-signed code-sign certificate name" <path to Navicat Premium.app>
注意:
"Your self-signed code-sign certificate name"是你證書的名字,不是路徑。
例如:
alex:bin $ codesign -f -s "master" /Applications/Navicat\ Premium.app/
9) 接下來(lái)使用navicat-keygen來(lái)生成 序列號(hào) 和 激活碼
Usage:
navicat-keygen <RSA-2048 PrivateKey(PEM file)>
-
<RSA-2048 PrivateKey(PEM file)>: RSA-2048私鑰文件的路徑。這個(gè)參數(shù)必須指定。
例如:
alex:bin $ ./navicat-keygen ./RegPrivateKey.pem
Which is your Navicat Premium language?
0. English
1. Simplified Chinese
2. Traditional Chinese
3. Japanese
4. Polish
5. Spanish
6. French
7. German
8. Korean
9. Russian
10. Portuguese
(Input index)> 0
(Input major version number, range: 0 ~ 15, default: 12)> 12
Serial number:
N6VM-YWXC-8ZJU-99VH
Your name:
你可以使用這個(gè) 序列號(hào) 暫時(shí)激活Navicat。
接下來(lái)你會(huì)被要求輸入用戶名和組織名;請(qǐng)隨便填寫,但不要太長(zhǎng)
Your name: alex
Your organization: alex
Input request code (in Base64), input empty line to end:
之后你會(huì)被要求填入請(qǐng)求碼。注意 不要關(guān)閉注冊(cè)機(jī).
10) 手動(dòng)激活
斷開網(wǎng)絡(luò) 并打開Navicat。找到注冊(cè)窗口,填入注冊(cè)機(jī)給你的序列號(hào)。然后點(diǎn)擊激活按鈕
一般來(lái)說(shuō)在線激活肯定會(huì)失敗,這時(shí)候Navicat會(huì)詢問(wèn)你是否手動(dòng)激活,直接選
在手動(dòng)激活窗口你會(huì)得到一個(gè)請(qǐng)求碼,復(fù)制它并把它粘貼到keygen里。最后別忘了連按至少兩下回車結(jié)束輸入
11) 成功激活
如果不出意外,你會(huì)得到一個(gè)看似用Base64編碼的激活碼。直接復(fù)制它,并把它粘貼到Navicat的手動(dòng)激活窗口,最后點(diǎn)激活按鈕。如果沒(méi)什么意外的話應(yīng)該能成功激活