主要参考:https://www.cnblogs.com/youngyajun/p/14935404.html
1.下载navicat
参考https://www.cnblogs.com/youngyajun/p/14935404.html
从官网下载: http://www.navicat.com.cn/download/navicat-premium
2.获取keystone文件
网址: https://gitee.com/zx2289/navicat-keygen-linux
3.提取文件
在桌面创建临时目录
mkdir ~/Desktop/navicat15-premium-cs-tmp
挂载
sudo mount -o loop /home/yyj/Downloads/navicat15-premium-cs.AppImage ~/Desktop/navicat15-premium-cs-tmp
拷贝文件
cp -r ~/Desktop/navicat15-premium-cs-tmp ~/Desktop/navicat15-premium-cs
拷贝Navicat桌面图标,为后面创建桌面图标做准备
cp ~/Desktop/navicat15-premium-cs/navicat-icon.png ~/Desktop/
取消挂载
sudo umount ~/Desktop/navicat15-premium-cs-tmp
删除临时目录
rm -rf ~/Desktop/navicat15-premium-cs-tmp
4.编译安装激活工具
export PATH=/usr/local/openssl-1.0.2j/bin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
/
u
s
r
/
l
o
c
a
l
/
o
p
e
n
s
s
l
−
1.0.2
j
/
l
i
b
:
PATH export LD_LIBRARY_PATH=/usr/local/openssl-1.0.2j/lib:
PATHexportLDLIBRARYPATH=/usr/local/openssl−1.0.2j/lib:LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/openssl-1.0.2j/lib:$LIBRARY_PATH
5.编译出现问题:
https://blog.csdn.net/u013992330/article/details/106933032
问题如下:
g++ -std=c++17 -O2
-I./common/
./navicat-patcher/CapstoneDisassembler.cpp ./navicat-patcher/KeystoneAssembler.cpp ./navicat-patcher/Elf64Interpreter.cpp ./navicat-patcher/Misc.cpp ./navicat-patcher/PatchSolution.cpp ./navicat-patcher/PatchSolution0.cpp ./navicat-patcher/main.cpp -o ./bin/navicat-patcher -lcrypto -lcapstone -lkeystone
/usr/bin/ld: /tmp/ccZ7L6Ew.o: in function ARL::OpensslError::ErrorString() const': main.cpp:(.text._ZNK3ARL12OpensslError11ErrorStringEv[_ZNK3ARL12OpensslError11ErrorStringEv]+0x21): undefined reference to
ERR_load_crypto_strings’
collect2: error: ld returned 1 exit status
make: *** [Makefile:70:patcher] 错误 1
说明是libcrypto.so库链接不对导致的