解码脚本如下:
from Crypto.Cipher import AES
from binascii import a2b_hex
class PrpCrypt(object):
def __init__(self):
self.key = 'libcckeylibcckey'.encode('utf-8')
self.mode = AES.MODE_CBC
self.iv = 'libcciv libcciv '.encode('utf-8')
def decrypt(self, text):
text = text.encode('utf-8') if type(text) == str else text
cryptor = AES.new(self.key, self.mode, self.iv)
plain_text = cryptor.decrypt(a2b_hex(text))
return bytes.decode(plain_text).rstrip()
if __name__ == '__main__':
pc = PrpCrypt()
print('密码:', pc.decrypt('727F197D38E9AD02E797165FFA83AE8E7B523BEA9E073FD73BD9AA0F1B896BFB'))
将navicat导出的connections.ncx文件打开,找到密码,粘贴到上述脚本中。
执行后报错
pycham安装crypto后还是报错,默认安装后文件夹名称是小写,需要将首字母改为大写。
此时进入该文件夹发现仍不存在Cipher,执行脚本还是报错
需要再安装pycryptodome,安装后查看文件夹Cipher已经存在了
扫描二维码关注公众号,回复:
17547955 查看本文章

再执行脚本就能解码出密码了。但是解码后存在一部分乱码,实际密码是乱码前的那部分信息,试了几个发现是偶现情况,这个目前还没搞清楚原因,有知道的可以在评论区告诉我