ubuntu下安裝navicat破解版
1. 從官方網站下載navicat。
你會得到一個AppImage文件。例如 navicat15-premium-en.AppImage。
我假定這個AppImage文件在 ~/Desktop 文件夾下。
2.提取AppImage文件里的所有文件到一個文件夾。例如:
$ mkdir ~/Desktop/navicat15-premium-en
$ sudo mount -o loop ~/Desktop/navicat15-premium-en.AppImage ~/Desktop/navicat15-premium-en
$ cp -r ~/Desktop/navicat15-premium-en ~/Desktop/navicat15-premium-en-patched
$ sudo umount ~/Desktop/navicat15-premium-en
$ rm -rf ~/Desktop/navicat15-premium-en
3. 編譯patcher和keygen
-
請確保你安裝了下面幾個庫:
capstonekeystonerapidjson
你可以通過下面的命令來安裝它們:
# install capstone $ sudo apt-get install libcapstone-dev # install keystone $ sudo apt-get install cmake $ git clone https://github.com/keystone-engine/keystone.git $ cd keystone $ mkdir build $ cd build $ ../make-share.sh $ sudo make install $ sudo ldconfig # install rapidjson $ sudo apt-get install rapidjson-dev -
你的gcc支持C++17特性。
-
編譯
$ git clone -b linux --single-branch https://gitee.com/andisolo/navicat-keygen.git
$ cd navicat-keygen
$ make all
生成完成后,你會在 bin/ 文件夾下看到編譯后的keygen/patcher。
4. 使用 navicat-patcher 替換官方公鑰。
Usage:
navicat-patcher [--dry-run] <Navicat Installation Path> [RSA-2048 Private Key File]
[--dry-run] Run patcher without applying any patches.
This parameter is optional.
<Navicat Installation Path> Path to a directory where Navicat locates
This parameter must be specified.
[RSA-2048 Private Key File] Path to a PEM-format RSA-2048 private key file.
This parameter is optional.
例如:
$ ./bin/navicat-patcher ~/Desktop/navicat15-premium-en-patched
Navicat Premium 15.0.3 Linux 英文版 已經通過測試。
下面是一份樣例輸出:
**********************************************************
* Navicat Patcher (Linux) by @DoubleLabyrinth *
* Version: 1.0 *
**********************************************************
Press ENTER to continue or Ctrl + C to abort.
[+] Try to open libcc.so ... Ok!
[+] PatchSolution0 ...... Ready to apply
RefSegment = 1
MachineCodeRva = 0x0000000001413e10
PatchMarkOffset = +0x00000000029ecf40
[*] Generating new RSA private key, it may take a long time...
[*] Your RSA private key:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEArRsg1+6JZxZNMhGyuM8d+Ue/ky9LSv/XyKh+wppQMS5wx7QE
XFcdDgaByNZeLMenh8sgungahWbPo/5jmkDuuHHrVMU748q2JLL1E3nFraPZqoRD
...
...
B1Z5AoGBAK8cWMvNYf1pfQ9w6nD4gc3NgRVYLctxFLmkGylqrzs8faoLLBkFq3iI
s2vdYwF//wuN2aq8JHldGriyb6xkDjdqiEk+0c98LmyKNmEVt8XghjrZuUrn8dA0
0hfInLdRpaB7b+UeIQavw9yLH0ilijAcMkGzzom7vdqDPizoLpXQ
-----END RSA PRIVATE KEY-----
[*] Your RSA public key:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArRsg1+6JZxZNMhGyuM8d
+Ue/ky9LSv/XyKh+wppQMS5wx7QEXFcdDgaByNZeLMenh8sgungahWbPo/5jmkDu
...
...
GrVJ3o8aDm35EzGymp4ON+A0fdAkweqKV6FqxEJqLWIDRYh+Z01JXUZIrKmnCkgf
QQIDAQAB
-----END PUBLIC KEY-----
*******************************************************
* PatchSolution0 *
*******************************************************
[*] Previous:
+0x0000000000000070 01 00 00 00 05 00 00 00 ........
+0x0000000000000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+0x0000000000000090 00 00 00 00 00 00 00 00 40 cf 9e 02 00 00 00 00 ........@.......
+0x00000000000000a0 40 cf 9e 02 00 00 00 00 00 10 00 00 00 00 00 00 @...............
[*] After:
+0x0000000000000070 01 00 00 00 05 00 00 00 ........
+0x0000000000000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+0x0000000000000090 00 00 00 00 00 00 00 00 d0 d0 9e 02 00 00 00 00 ................
+0x00000000000000a0 d0 d0 9e 02 00 00 00 00 00 10 00 00 00 00 00 00 ................
[*] Previous:
+0x00000000029ecf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+0x00000000029ecf50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+0x00000000029ecf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
...
...
+0x00000000029ed0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[*] After:
+0x00000000029ecf40 ef be ad de 4d 49 49 42 49 6a 41 4e 42 67 6b 71 ....MIIBIjANBgkq
+0x00000000029ecf50 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 hkiG9w0BAQEFAAOC
+0x00000000029ecf60 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 AQ8AMIIBCgKCAQEA
...
...
...
+0x00000000029ed0c0 43 6b 67 66 51 51 49 44 41 51 41 42 ad de ef be CkgfQQIDAQAB....
[*] Previous:
+0x0000000001413e10 44 0f b6 24 18 48 8b 44 24 28 8b 50 f8 85 d2 79 D..$.H.D$(.P...y
+0x0000000001413e20 6f o
[*] After:
+0x0000000001413e10 45 31 e4 48 8d 05 2a 91 5d 01 90 90 90 90 90 90 E1.H..*.].......
+0x0000000001413e20 90 .
[*] New RSA-2048 private key has been saved to
/home/doublesine/github.com/navicat-keygen/RegPrivateKey.pem
*******************************************************
* PATCH HAS BEEN DONE SUCCESSFULLY! *
* HAVE FUN AND ENJOY~ *
*******************************************************
5. 將文件重新打包成AppImage:
例如:
$ wget 'https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage'
$ chmod +x appimagetool-x86_64.AppImage
$ ./appimagetool-x86_64.AppImage ~/Desktop/navicat15-premium-en-patched ~/Desktop/navicat15-premium-en-patched.AppImage
6. 運行剛生成的AppImage:
$ chmod +x ~/Desktop/navicat15-premium-en-patched.AppImage
$ ~/Desktop/navicat15-premium-en-patched.AppImage
7. 使用 navicat-keygen 來生成 序列號 和 激活碼。
Usage:
navicat-keygen <--bin|--text> [--adv] <RSA-2048 Private Key File>
<--bin|--text> Specify "--bin" to generate "license_file" used by Navicat 11.
Specify "--text" to generate base64-encoded activation code.
This parameter must be specified.
[--adv] Enable advance mode.
This parameter is optional.
<RSA-2048 Private Key File> A path to an RSA-2048 private key file.
This parameter must be specified.
例如:
$ ./bin/navicat-keygen --text ./RegPrivateKey.pem
你會被要求選擇Navicat產品類別、Navicat語言版本和填寫主版本號。之后一個隨機生成的 序列號 將會給出。
$ ./bin/navicat-keygen --text ./RegPrivateKey.pem
**********************************************************
* Navicat Keygen (Linux) by @DoubleLabyrinth *
* Version: 1.0 *
**********************************************************
[*] Select Navicat product:
0. DataModeler
1. Premium
2. MySQL
3. PostgreSQL
4. Oracle
5. SQLServer
6. SQLite
7. MariaDB
8. MongoDB
9. ReportViewer
(Input index)> 1
[*] Select product 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)> 15
[*] Serial number:
NAVM-RTVJ-EO42-IODD
[*] Your name:
你可以使用這個 序列號 來暫時激活Navicat。
之后你會被要求填寫 用戶名 和 組織名。你可以隨意填寫,但別太長。
[*] Your name: DoubleLabyrinth
[*] Your organization: DoubleLabyrinth
[*] Input request code in Base64: (Double press ENTER to end)
之后你會被要求填寫請求碼。注意不要關閉keygen。
8. 斷開網絡. 找到注冊窗口,填寫keygen給你的 序列號,然后點擊 激活。
9. 通常在線激活會失敗,所以在彈出的提示中選擇 手動激活。
10. 復制 請求碼 到keygen,連按兩次回車結束。
[*] Input request code in Base64: (Double press ENTER to end)
OaGPC3MNjJ/pINbajFzLRkrV2OaSXYLr2tNLDW0fIthPOJQFXr84OOroCY1XN8R2xl2j7epZ182PL6q+BRaSC6hnHev/cZwhq/4LFNcLu0T0D/QUhEEBJl4QzFr8TlFSYI1qhWGLIxkGZggA8vMLMb/sLHYn9QebBigvleP9dNCS4sO82bilFrKFUtq3ch8r7V3mbcbXJCfLhXgrHRvT2FV/s1BFuZzuWZUujxlp37U6Y2PFD8fQgsgBUwrxYbF0XxnXKbCmvtgh2yaB3w9YnQLoDiipKp7io1IxEFMYHCpjmfTGk4WU01mSbdi2OS/wm9pq2Y62xvwawsq1WQJoMg==
[*] Request Info:
{"K":"NAVMRTVJEO42IODD", "DI":"4A12F84C6A088104D23E", "P":"linux"}
[*] Response Info:
{"K":"NAVMRTVJEO42IODD","DI":"4A12F84C6A088104D23E","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1575543648}
[*] Activation Code:
i45HIr7T1g69Cm9g3bN1DBpM/Zio8idBw3LOFGXFQjXj0nPfy9yRGuxaUBQkWXSOWa5EAv7S9Z1sljlkZP6cKdfDGYsBb/4N1W5Oj1qogzNtRo5LGwKe9Re3zPY3SO8RXACfpNaKjdjpoOQa9GjQ/igDVH8r1k+Oc7nEnRPZBm0w9aJIM9kS42lbjynVuOJMZIotZbk1NloCodNyRQw3vEEP7kq6bRZsQFp2qF/mr+hIPH8lo/WF3hh+2NivdrzmrKKhPnoqSgSsEttL9a6ueGOP7Io3j2lAFqb9hEj1uC3tPRpYcBpTZX7GAloAENSasFwMdBIdszifDrRW42wzXw==
11. 最終你會得到一個base64編碼的 激活碼。
將之復制到 手動激活 的窗口,然后點擊 激活。
如果沒有什么意外,應該可以成功激活。
12. 最后的清理:
可以將破解的navicat文件放到習慣的文件安裝位置,我這里放到了/usr/local/navicate下
該文件夾下文件結構:
navicat15-premium-cs.AppImage //破解后的navicat文件
Navicat.png //navicat圖標,見下圖
navicat.sh //navicat啟動文件內容為:sh ./navicat15-premium-cs.AppImage
根據該文件夾下文件制作桌面啟動圖標
sudo gedit /usr/share/applications/navicat.desktop
//復制以下內容
[Desktop Entry]
Version=15 #版本號
Name=Navicat #顯示的名稱
Comment=Back up your data with one click
Exec=/usr/local/navicat/navicat15-premium-cs.AppImage #啟動腳本的位置
Icon=/usr/local/navicat/Navicat.png #圖標的位置
Terminal=false
Type=Application
Categories=Utility;Application;
最后清理過程中產生的文件
$ rm ~/Desktop/navicat15-premium-en.AppImage
$ rm -rf ~/Desktop/navicat15-premium-en-patched
$ mv ~/Desktop/navicat15-premium-en-patched.AppImage ~/Desktop/navicat15-premium-en.AppImage
