适用于移动端微信8.x版本的加密数据库解密工具

惊落一身雪  金牌会员 | 2024-8-24 20:41:33 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

Wechat On Android Decrypt-EnMicroMsg.db

本文Gitee链接地址
介绍

适用于移动端微信8.x版本的加密数据库解密工具
参考链接

[1] https://ssine.ink/posts/wechat-data-decryption/ (主要参考)
[2] https://github.com/chg-hou/EnMicroMsg.db-Password-Cracker (cpu解密程序)
[3] https://github.com/whiteblackitty/SQLCipher-Password-Cracker-OpenCL (gpu解密程序)
[4] https://www.cnblogs.com/ant-wjf/p/4117460.html
CPU解密工具安装教程

参考[1] 和 [2]
GPU解密工具安装教程

安装布局如图

如果openssl安装在C盘默认位置, 可以实验编译好的pysqlcipher3库
安装情况


  • OpenSSL 安装
    下载地址
    测试3.3.0版本没问题
    注意右侧描述要有 Recommended for software developers…
  • cudnn安装
    下载地址
    gpu-z 查看是否支持opencl
    下载地址
  • ActiveTcl 安装
    下载地址
    安装教程
    测试8.16.13版本没问题
    设置情况变量
    TCLDIR=【tcl 安装目次/bin】
  • visual studio
    打开安装程序, 工作负荷中找到桌面应用和移动应用, 选择使用C++的桌面开辟
  • python 3.7
    安装anaconda(推荐)或直接安装python3.7
安装工具


  • 新建文件夹WxDecrypt, 使用git工具克隆
    sqlite
    sqlcipher
    pysqlcipher3
    SQLCipher-Password-Cracker-OpenCL
    到当地目次 /WxDecrypt
  • sqlite 库天生opcodes.h
    Windows程序和应用中搜索Developer Command Prompt for VS xxxx
    cd 到 /sqlite目次
    nmake /f Makefile.msc
    打开opcodes.h, 193行添加
    #define OP_IfSmaller 190
    复制opcodes.h/pysqlcipher3/amalgamation
  • sqlcipher天生sqlite3.c, sqlite3.h
    cd 到 /sqlcipher 目次
    nmake /f Makefile.msc sqlite3.c
    打开sqlite3.c, 合适位置添加
    #include "opcodes.h"
    在上一个文件夹搜索sqlite3OpcodeName函数实现, 和OpHelp宏, 复制到sqlite3.c合适位置
    复制sqlite3.csqlite3.h到**/pysqlcipher3/amalgamation**
  • 天生 pysqlcipher3
    cd 到 /pysqlcipher3 目次
    打开 /setup.py , 69行改为
    quote = '"' if sys.platform != 'win32' else '\"'
    build_extension 方法中的 if 改为
    1.         if sys.platform == "win32":
    2.             # Try to locate openssl
    3.             openssl_conf = os.environ.get('OPENSSL_CONF')
    4.             if not openssl_conf:
    5.                 error_message = 'Fatal error: OpenSSL could not be detected!'
    6.                 raise RuntimeError(error_message)
    7.             # openssl = os.path.dirname(os.path.dirname(openssl_conf))
    8.             openssl = "C:\\Program Files\\OpenSSL-Win64"
    9.             openssl_lib_path = os.path.join(openssl, "lib\\VC\\x64\\MD")
    10.             # Configure the compiler
    11.             ext.include_dirs.append(os.path.join(openssl, "include"))
    12.             ext.define_macros.append(("inline", "__inline"))
    13.             # Configure the linker
    14.             ext.extra_link_args.append("libcrypto.lib")
    15.             ext.extra_link_args.append("libssl.lib")
    16.             ext.extra_link_args.append('/LIBPATH:' + openssl_lib_path)
    17.         else:
    18.             ext.extra_link_args.append("-lcrypto")
    复制代码
    其中 openssl 为OpenSSL安装路径
    编译乐成后将 /pysqlcipher3/build/lib.win-amd64-cpython-37/pysqlcipher3 复制到 /SQLCipher-Password-Cracker-OpenCL 目次
  • 修改新版本EnMicroMsg.db判定头
    cd 到 SQLCipher-Password-Cracker-OpenCL 目次
    修改 /Lib/pbkdf2-sha1_aes-256-cbc.cl, 第752行
    1.     //if(((uint)(data[0] ^ iv[0])==4) && ((uint)(data[1] ^ iv[1])==0) && ((uint)(data[2] ^ iv[2])==1) && ((uint)(data[3] ^ iv[3])==1))
    2.     if(((uint)(data[5] ^ iv[5])==0x40) && ((uint)(data[6] ^ iv[6])==0x20) && ((uint)(data[7] ^ iv[7])==0x20))
    复制代码
  • 测试&运行
    python genTestDB.py [password] 创建加密数据库
    修改 /Run.py 中加密数据库路径
    python Run.py 检查平台参数
    python Run.py [platform number] 运行解密程序
怎样从安卓手机提取EnMicroMsb.db

手机微信文件提取:小米9为例, 免root
情况

   MIUI 12.5.6稳固版, 未解锁
  微信8.0.25
  Windows10 64bit
  java8
  使用工具

   winhex
  android-backup-tookit
  7zip
  提取步骤

   MIUI 12.5.6稳固版, 未解锁
  选择备份到电脑
  将备份文件复制到电脑
  使用winhex打开备份文件.bak
  选择41 4E之前的数据, 右键, edit, remove, 删除41 4E之前的数据
  操纵完成后ctrl+s保存
  将修改后的文件拖到“一键解包.bat”批处理上, 等候几分钟(取决于电脑性能和bak文件大小,可以观察硬盘读写状态)
  就得到.tar文件
  使用7zip解压.tar文件得到微信的原始包
  谈天记载在\apps\com.tencent.mm\r\MicroMsg\4de5***********d326\EnMicroMsg.db这个数据库是加密的, 需要解密
  参考资料

[1] https://www.feifeiboke.com/android/3669.html
[2] https://android.stackexchange.com/questions/28481/how-do-you-extract-an-apps-data-from-a-full-backup-made-through-adb-backup/78183#78183
[3] http://www.liekang.com/248106.html
情况及工具

java
android-backup-tookit
7zip
解包工具
解包工具里面的abe.jar 不能剖析5.0版本的ab包, 这里换成 android-backup-tookit\android-backup-processor\executable 路径下的abp.jar文件.
abp.jar放到一键解包.bat目次下
一键解包.bat里的
java -jar "%~dp0\abe.jar" unpack %bakFile% %bakFile%.tar
修改为
java -jar "%~dp0\abp.jar" unpack %bakFile% %bakFile%.tar
即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表