三星手机提取微信聊天数据

news2024/12/30 2:09:45

三星手机提取微信聊天数据的方法,无需root。
注意,暴力破解密码需要英伟达显卡,一小时内破解,无显卡可能要两天。

1. 安装USB驱动,通过S换机助手,备份微信软件至电脑。注意,选择不加密。

三星USB驱动下载
S换机助手下载链接

2. 使用7-Zip解压提取数据库文件

找到备份路径下的 SM-G9730_20230113231240\APKFILE\com.tencent.mm.data文件,右键=>7-Zip=>打开压缩包,找到com.tencent.mm\r\MicroMsg\f5202199666edd0e02d05dfe03dc66d1\EnMicroMsg.db文件,单独复制出来。此处无法获得微信UID,毕竟备份的有所缺失,因此采用暴力破解。

3. 下载所需文件

SQLCipher-Password-Cracker 下载这个仓库,解压 SQLCipher-Password-Cracker-OpenCL-master.zip
OpenSSL 下载Win64 OpenSSL v3.0.7 EXE Win64OpenSSL-3_0_7.exe
sqlite-amalgamation 下载Source Code - sqlite-amalgamation-3400100.zip
pysqlcipher3 下载这个仓库,解压 pysqlcipher3-master.zip
sqlcipher 下载这个仓库,解压 sqlcipher-master

4 安装pysqlcipher3

1 首先需要安装python 3.7,并且安装CUDA、Cudnn。装过TensorFlow的Anaconda环境都可以。在虚拟环境内运行python -m pip install pyopencl
2 然后安装OpenSSL,注意需要将OpenSSL的dll安装到系统目录:C:\Program Files\OpenSSL-Win64
3 不要!将sqlite-amalgamation-3400100.zip内的四个文件,复制到pysqlcipher3-master\amalgamation文件夹。
应该:在sqlcipher-master目录下,打开Developer Command Prompt of Visual Studio,运行nmake /f Makefile.msc sqlite3.c,把sqlite3.csqlite3.h复制到pysqlcipher3-master\amalgamation文件夹。
4 修改 pysqlcipher3\src\python3目录下connection.h, statement.h, util.h三个文件中#include "sqlcipher\sqlite3.h"#include "sqlite3.h"
5 修改 pysqlcipher3目录下setup.py中 "openssl = os.path…"为openssl = r"C:\Program Files\OpenSSL-Win64",修改openssl_conf = os.environ.get('OPENSSL_CONF')openssl_conf = r"C:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf",修改openssl_lib_path = os.path.join(openssl, "lib")openssl_lib_path = os.path.join(openssl, "lib\VC"),修改libeay32.liblibcrypto64MD.lib, 并加入ext.extra_link_args.append("libssl64MD.lib")
6 复制C:\Program Files\OpenSSL-Win64目录下libcrypto-1_1-x64.dll 、libssl-1_1-x64.dll文件到SQLCipher-Password-Cracker-OpenCL-master
7 pysqlcipher3 目录下虚拟环境内运行 python setup.py build_amalgamation python setup.py install

5 运行破解

SQLCipher-Password-Cracker-OpenCL-master 目录下Run.py文件修改Encrypted_DB_PATH="EnMicroMsg.db",把EnMicroMsg.db复制过来。
SQLCipher-Password-Cracker-OpenCL-master 目录下虚拟环境内运行python Run.py 0
跑了两次默认参数,提示未能成功破解密码。参考其他链接,可以适当调整判定逻辑和参数:

in pbkdf2-sha1_aes-256-cbc.cl
if(((uint)(data[5] ^ iv[5])==0x40) && ((uint)(data[6] ^ iv[6])==0x20) && ((uint)(data[7] ^ iv[7])==0x20) && ((uint)(data[56] ^ iv[56])==0x00))
in Run.py
OUTER_PASS_LENGTH = 4
c.execute("PRAGMA cipher_compatibility=3;") #new
c.execute("PRAGMA cipher_hmac_algorithm=HMAC_SHA1;") #new

最后在RTX 1660Ti上Brute Try completed after a total time of 47.4 min.
在这里插入图片描述

7 数据库结构

使用sqlcipher.exe读取数据库,主要的表是群聊名单chatRoom,聊天记录message,联系人名单rcontact,联系人标签ContactLabel,还有一些wallet、biz、img、voice之类的。

Last 参考链接

https://zhuanlan.zhihu.com/p/123942610
https://zhuanlan.zhihu.com/p/164917107
https://www.jianshu.com/p/90224ab9cdf2
https://blog.csdn.net/muzhicihe/article/details/109902849
https://blog.csdn.net/wem603947175/article/details/103584228

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/163953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[硬核] Bootstrap Blazor Table 综合演示例子

知识点: 1.导入导出 2.分页功能 3.增删改查 4.批量删除 5.批量编辑(审核) 6.列排序与列搜索 7.顶部搜索实现所有列搜索 8.高级搜索实现多条件搜索 9.顶部与刷新与视图列 10.实现文本类型明细行 11.列的统计 12.隐藏列,时间日期列格式化 13.新窗口打开 14.随机数据 15.自由编辑…

DVWA靶机CSRF全难度(未完)

目录 Low难度 medium难度 Cross Site Request Forgery跨站的请求伪造 原理:利用受害者尚未失效的身份认证信息、会话;诱骗其访问黑客设计号的页面,在受害人不知情的情况下以受害人的身份向服务器发送请求完成非法操作 Low难度 源代码 &l…

十二、RabbitMQ 报错汇总

🌻🌻 目录一、报版本过低问题一、报版本过低问题 问题: error: Failed dependencies: libcrypto.so.1.1()(64bit) is needed by erlang-25.1.2-1.el8.x86_64 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by erlang-25.1.2-1.el8.x86_…

基于模糊控制的自平衡小车的研究

1、内容简介略635-可以交流、咨询、答疑2、内容说明随着人类文明的发展,传感器技术、计算机应用技术、机械学、微电子技术、通讯技术以及人工智能技术也得到了飞速的发展。进入21世纪后,在机器人学和机器人技术领域,自平衡小车已成为其中的重…

LeetCode 2293. 极大极小游戏

【LetMeFly】2293.极大极小游戏 力扣题目链接:https://leetcode.cn/problems/min-max-game/ 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度,如果 n 1 ,…

【OpenCV】形态学操作 | 图像平滑 | 边缘检测 | Laplacian算子

Ⅰ. 形态学操作 0x00 腐蚀和膨胀 腐蚀和膨胀是最基本的形态学操作,腐蚀和膨胀都是针对白色部分(高亮部分)而言的。 膨胀就是使图像中的高亮部分扩张,效果图拥有比原图更大的高亮区域;腐蚀是原图中的高亮区域被蚕食&…

C语言文件补充笔记2:VS查看定义、文件章节涉及到的函数

1 VS查看函数的定义与库的原码 (1)查看库函数的定义 右击要查看的函数,然后“转到定义” 这里就跳转到了定义的所在文件 在右上角关闭相关文件 (2) 查看库原码 将鼠标放到导入的库中,然后右击&#…

给数组创建复制(深拷贝)给数组创建复制(深拷贝)

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 数组的深拷贝、浅拷贝、引用拷贝 修改原数组不会影响复制后的数组 numpy.copy() [太阳]选择题 对于以下python代码最后输出的结果是? import numpy as np print("【执行】a np.arang…

awesome平铺窗口使用笔记

这个故事要从vim开始。从入了vim的坑以后,就爱上了平铺窗口模式。在macOS中就开始使用yabai。使用了yabai以后,就很大程序可以用键盘完成大部分操作了。然后我开始用linux,使用的是i3wm。感觉非常不错,几乎就与vim中的窗口管理差不…

[Android Studio] 如何查看Android Studio的版本信息

🟧🟨🟩🟦🟪 Android Debug🟧🟨🟩🟦🟪 Topic 发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。 📋笔记目…

命令行批量 PDF 转换器:2PDF 2.0.8x Crack

命令行 PDF 转换器 2PDF 是一个专业的命令行实用程序,用于以批处理模式将办公文档和图像转换为 PDF。2PDF 基于命令行界面和语法,通过简单的标准命令提供对批量转换为 PDF 的完全控制。 从 Windows 命令提示符将文档和图像转换为 PDF 2PDF 可以将 PDF 和…

面试官问我微服务注册中心如何保证数据强一致性?头秃了。。。

目录 1、再回顾:什么是服务注册中心?2、Consul服务注册中心的整体架构3、Consul如何通过Raft协议实现强一致性?4、Consul如何通过Agent实现分布式健康检查? 1、再回顾:什么是服务注册中心? 先回顾一下什么…

Promise 详解

Promise 详解示例一个抽奖小游戏原生 JavaScript 实现Promise 实现读取文件原生 JavaScript 实现Promise 实现Promise 对象Promise 对象的状态Promise 对象的创建Promise 对象的状态的改变pending 转换为 fulfilledpending 转换为 rejected与 Promise 对象相关的 APIPromise.th…

Linux---gdb调试方法

1. 背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项2. gdb调试 进入/退出调试: list/l 行号:显…

佳能2420报错代码E000007-0000

应该是定影的问题,先试一下清零,如果还是出现这个问题,不是电压就是应该换定影了。(包含:轴套、定影膜、缺硅油了【定影膜硅油、润滑脂】) 维修模式菜单: CLEAR > ENGIN > ERRCLR &…

交大博士学长:研究生计算机专业的方向选择!

Datawhale干货 作者:一辈闲,上海交大博士,Datawhale邀约作者作者知乎:https://www.zhihu.com/people/yi-bei-xian-16目前计算机专业的研究方向主要分为四个大方向分别是:AI(人工智能)、Systems&…

常微分方程组解稳定性的分析

文章未完相空间的绘制我们随机选一个方程,随机选的,不是有数学手册吗,一般来说考题不可能出数学手册上的例子import scipy.integrate as si import matplotlib.pyplot as plt import numpy as np## dx/dt x**2-y**2xy ## dy/dt x*y**2 - x**2*yf lambda x,y:x**2-y**2xy g…

HashMap、HashTable和ConcurrentHashMap的区别

HashMap是线程不安全的,HashTable和ConcurrentHashMap是线程安全的。HashTable的实现线程安全的方式是:将所有的方法都加上锁,也就相当于对this加锁,此时,无论访问HashTable的任何一个元素都会加锁操作,在多…

ESP32设备驱动-MMA8451加速度计驱动

MMA8451加速度计驱动 1、MMA8451介绍 MMA8451 是一款具有 14 位分辨率的低功耗加速度计,具有灵活用户可编程选项的嵌入式功能,可配置为两个中断引脚。嵌入式中断功能可实现整体节能,从而使主机处理器免于连续轮询数据访问低通滤波数据和高通滤波数据,最大限度地减少颠簸检…

DockerCompose安装卸载、文件语法格式

DockerCompose安装卸载、文件语法格式 一、DockerCompose的概念和作用 1.1 相关概念 DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,不需要我们手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如…