Navicat导出ncx文件并解密连接密码(mysql为例)
一、导出.ncx文件解密
file——导出连接——勾上导出密码——确定:
打开生成的.ncx文件:
复制加密的password,使用下面的python代码解密即可:
from Crypto.Cipher import AES
def DecryptNavicat(data):
aes = AES.new('libcckeylibcckey'.encode(), AES.MODE_CBC, iv='libcciv libcciv '.encode())
text = aes.decrypt(bytes.fromhex(data))
# 删掉填充的字符
return text[0:-text[-1]].decode('utf-8')
if __name__ == '__main__':
print(DecryptNavicat('D11E8CFFBA5852F686ED2ACC3B0E8E26'))
二、查看注册表解密
从注册表中查看数据库的连接地址、账号、密码、端口
cmd命令:
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host 数据库连接 ip
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserName
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwd 数据库用户名数据库用户名对应的密码 hash
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v Port 据库连接
使用解密脚本解密:
脚本下载连接:
https://github.com/HyperSine/how-does-navicat-encrypt-password/tree/master/python3