Mysql:实用工具:解密【.mylogin.cnf】的python小工具

如题!

 

 

源文件(可下载):DecryptMyLoginCnf

使用:

DecryptMyLoginCnf.py - MySQL .mylogin.cnf 逆向解密工具

原理:
  .mylogin.cnf 文件头24字节: [4字节保留\x00] + [20字节登录密钥(明文)]
  文件体按行AES-128-ECB加密, 每段: [4字节密文长度(小端int32)] + [密文]
  密钥派生: my_aes_create_key() 将20字节密钥XOR折叠为16字节AES密钥

用法:
  python DecryptMyLoginCnf.py                  # 自动搜索默认位置
  python DecryptMyLoginCnf.py -f /path/to/.mylogin.cnf   # 指定文件
  python DecryptMyLoginCnf.py -f /path1 -f /path2        # 指定多个文件
  python DecryptMyLoginCnf.py -G my180          # 只打印指定登录路径
  python DecryptMyLoginCnf.py -l                # 列出默认搜索路径

默认搜索位置 (按优先级):
  1. 环境变量 MYSQL_TEST_LOGIN_FILE (MySQL测试用)
  2. Windows: %APPDATA%\\MySQL\\.mylogin.cnf
     Linux:   $HOME/.mylogin.cnf

输出格式与 mysql_config_editor print 一致, 但 password 显示明文而非 *****

mysql_config_editor print 输出示例:
  [client]
  user = root
  password = *****
  host = 127.0.0.1

本工具输出示例:
  [client]
  user = root
  password = secret
  host = 127.0.0.1

 

posted on 2026-06-16 22:51  jinzhenshui  阅读(0)  评论(0)    收藏  举报