解密Android某信聊天记录
前置条件
frida, frida-tools, adb
获取密码
h.js
console.log('script loaded successfully');function xx() {function strf(str, replacements) {return str.replace(/\$\{\w+\}/g, function(placeholderWithDelimiters) {var placeholderWithoutDelimiters = placeholderWithDelimiters.substring(2, placeholderWithDelimiters.length - 1);var stringReplacement = replacements[placeholderWithoutDelimiters];return stringReplacement;});}function x_db() {var String = Java.use("java.lang.String");var SQLiteDatabase = Java.use("com.tencent.wcdb.database.SQLiteDatabase");SQLiteDatabase["openDatabase"].overload('java.lang.String', '[B', 'com.tencent.wcdb.database.SQLiteCipherSpec', 'com.tencent.wcdb.database.SQLiteDatabase$CursorFactory', 'int', 'com.tencent.wcdb.DatabaseErrorHandler', 'int').implementation = function (str, bArr, sQLiteCipherSpec, cursorFactory, i2, databaseErrorHandler, i3) {console.log(strf('str=${0} bArr=${1}', [str, bArr == null ? "" : String.$new(bArr)]));var result = this["openDatabase"](str, bArr, sQLiteCipherSpec, cursorFactory, i2, databaseErrorHandler, i3);return result;};}Java.perform(function () {x_db();});
}setTimeout(xx, 0);
frida -U -l h.js --no-pause -f com.tencent.mm
拉取数据库到本地
adb pull /data/user/0/com.tencent.mm/MicroMsg/替换成你自己的字符串/EnMicroMsg.db .
下载 sqlcipher
sqlcipher-shell64.exe EnMicroMsg.dbsqlite> PRAGMA key = '你自己的密钥';
sqlite> PRAGMA cipher_use_hmac = off;
sqlite> PRAGMA kdf_iter = 4000;
sqlite> PRAGMA cipher_page_size = 1024;
sqlite> PRAGMA cipher_hmac_algorithm = HMAC_SHA1;
sqlite> PRAGMA cipher_kdf_algorithm = PBKDF2_HMAC_SHA1;
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY '';
sqlite> SELECT sqlcipher_export('plaintext');sqlite> DETACH DATABASE plaintext;
下载DB Browser for SQLite
选择plaintext.db 就可以看到数据啦
相关文章:
解密Android某信聊天记录
前置条件 frida, frida-tools, adb 获取密码 h.js console.log(script loaded successfully);function xx() {function strf(str, replacements) {return str.replace(/\$\{\w\}/g, function(placeholderWithDelimiters) {var placeholderWithoutDelimiters placeholderWi…...
海外云手机对于亚马逊卖家的作用
近年来,海外云手机作为一种新型模式迅速崭露头角,成为专业的出海SaaS平台软件。海外云手机在云端运行和存储数据,通过网页端操作,将手机芯片放置在机房,通过网络连接到服务器,为用户提供便捷的上网功能。因…...
交换机的发展历史
交换机发展历史是什么,详细介绍每代交换机的性能特点,特色功能 交换机的发展历史可以大致分为以下几个阶段,每个阶段的设备性能特点和特色功能有所差异: 1. 第一代以太网交换机(1980年代末至1990年代初) …...
用katalon解决接口/自动化测试拦路虎--参数化
不管是做接口测试还是做自动化测试,参数化肯定是一个绕不过去的坎。 因为我们要考虑到多个接口都使用相同参数的问题。所以,本文将讲述一下katalon是如何进行参数化的。 全局变量 右侧菜单栏中打开profile,点击default,打开之后…...
CSRF靶场练习
简述:CSRF漏洞实际很少;条件限制很多;局限性很大;实验仅供参考,熟悉csrf概念和攻击原理即可 Pikachu靶场 CSRF GET 登录用户vince的账户可以看到用户的相关信息; 点击修改个人信息,发现数据包…...
pgsql的查询语句有没有走索引
使用EXPLAIN ANALYZE命令: EXPLAIN ANALYZE [ ( option [, ...] ) ]statement示例: EXPLAIN ANALYZE SELECT * FROM employees WHERE age > 30;在执行计划中,如果看到索引扫描(Index Scan)或位图堆扫描࿰…...
jenkins部署(docker)
docker部署,避免安装tomcat 1.拉镜像 docker pull jenkins/jenkins2.宿主机创建文件夹 mkdir -p /lzp/jenkins_home chmod 777 /lzp/jenkins_home/3.启动容器 docker run -d -p 49001:8080 -p 49000:50000 --privilegedtrue -v /lzp/jenkins_home:/var/jenkins_…...
Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中,AR定阶自回归模型(AR order selection)是指确定自回…...
Springboot自定义线程池实现多线程任务
1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…...
linux离线升级openssh方法
检查openssh版本: 升级前openssh 版本为7.4 openssl 版本为1.0.2k Openssh9.6 所需openssl >1.1.1 因此openssl也需要升级。 为了防止升级失败,无法使用SSH登录,首先安装telnet 预防。查看是否安装了telnet 客户端及服务 未安装tel…...
(五)MySQL的备份及恢复
1、MySQL日志管理 在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这样情况下,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了 数据库中数据丢失或被破坏可能原因: 误删除数据…...
VitePress-04-文档中的表情符号的使用
说明 vitepress 的文档中是支持使用表情符号的,像 😂 等常用的表情都是支持的。 本文就来介绍它的使用方式。 使用语法 语法 : :表情名称: 例如 : :joy: 😂 使用案例代码 # 体会【表情】的基本使用 > hello world …...
Redis客户端之Redisson(二)Redisson组件
Redisson的几个常用客户端 一、RedissonClient 1、创建 通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。 Config config new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); RedissonC…...
用Visual Studio Code创建JavaScript运行环境【2024版】
用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登艾奇(Brendan Eich)在 …...
spring-web搭建
先说说这篇文章看完你能学习到什么吧 1:spring-web是什么原理以及组成,2:spring-web的搭建(以普通tomcat服务器做基础),3:敲黑板 1:spring-web是什么原理以及组成 spring-web是sp…...
C++ 之LeetCode刷题记录(二十三)
😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 118. 杨辉三角 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows …...
在ubuntu上在安装Squid代理服务器
Squid 是一个代理和缓存服务器,它将请求转发到所需的目的地,同时保存请求的内容,当你再次请求相同内容时,他可以向你提供缓冲内容,从而提高访问速度。Squid代理服务器目前支持的协议有:http、SSL、DNS、FTP…...
如何解决 MySQL 的 socket 错误
MySQL 通过使用 socket 文件 来管理与数据库服务器的连接,这是一种特殊类型的文件,用于促进不同进程之间的通信。MySQL 服务器的 socket 文件名为 mysqld.sock,在 Ubuntu 系统中通常存储在 /var/run/mysqld/ 目录中。这个文件会被 MySQL 服务…...
5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型
5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型。随着科技的不断发展,数字化转型已经成为钢铁企业转型升级的必经之路。而5G技术的广泛应用,为钢铁企业数字化转型提供了新的机遇。其中,5G智慧钢铁厂数字孪生三维可…...
万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞
0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…...
You-Get下载视频音画不同步?可能是FFmpeg路径没配对!附Mac/Linux/Windows三平台配置指南
You-Get跨平台音视频同步解决方案:FFmpeg环境配置全指南 当你在Mac上流畅使用you-get下载合并好的视频,切换到Windows却遭遇音画分离的尴尬时,问题往往出在FFmpeg的环境配置上。本文将带你深入理解多平台下FFmpeg的配置差异,并提…...
跟着 MDN 学CSS day_17:(深入理解溢出机制与容器控制艺术)
在CSS的世界里,一切皆为盒子。当我们精心设定盒子的宽度和高度,试图构建完美的布局时,一个不可避免的问题就会悄然出现:**如果内容超出了盒子的承载能力,会发生什么?**这就是CSS中一个至关重要的概念——溢…...
IDE 重构(Refactoring)详解 + 实例代码
IDE 重构(Refactoring)详解 实例代码 重构是指在不改变代码外部行为的前提下,对代码内部结构进行调整、优化,使代码更易读、易维护、易扩展的过程。IDE(集成开发环境)是重构的最强助手,它能自动…...
2026年实用降AI率平台:亲测AI率从90%降至4%的省心方案
一、前言:2026年毕业必过AIGC检测门槛 2026年国内高校对学术论文的AIGC疑似度审核全面收紧,绝大多数院校都发布了明确的AIGC检测数值要求:985、211院校规定本科论文AI率需低于20%,硕士论文AI率不得高于15%,普通高校也普…...
保姆级教程:手把手教你用插桩法逆向分析小红书X-S加密(附完整JSVMP日志)
JSVMP逆向工程实战:从加密定位到算法还原的全流程解析 逆向工程的世界里,JSVMP(JavaScript Virtual Machine Protection)一直是让许多开发者望而生畏的存在。这种前端代码虚拟化保护技术通过将JavaScript源代码编译为自定义字节码…...
元学习与物理信息神经网络:破解数据稀缺下的宏观交通流估计难题
1. 项目概述:当宏观交通流遇上“学会学习”的AI如果你在交通工程或智慧城市领域待过几年,肯定对“宏观基本图”这个概念不陌生。简单来说,它就像一张城市路网的“心电图”,通过聚合整个区域的交通流量和密度,描绘出网络…...
Spring Cloud微服务里,如何用XXL-JOB搞定订单15分钟未支付自动关闭?
Spring Cloud微服务中基于XXL-JOB的订单超时自动关闭实战方案 电商平台的订单超时自动关闭是一个典型的高并发业务场景。想象一下,当用户下单后未支付,系统需要在15分钟后自动释放库存并关闭订单。传统做法可能采用数据库轮询或延迟队列,但在…...
如何通过Marlin固件配置解决3D打印常见问题:终极完整指南
如何通过Marlin固件配置解决3D打印常见问题:终极完整指南 【免费下载链接】Marlin Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printers come wit…...
基于Transformer的行星大气辐射传输仿真器:百倍加速与1%精度
1. 项目概述:用Transformer重塑行星大气辐射传输计算在行星科学和天体物理领域,模拟一颗行星的大气层如何吸收、散射和发射星光与热辐射,是理解其气候、演化乃至潜在宜居性的基石。这个过程的核心,就是辐射传输计算。无论是预测即…...
自动驾驶多摄像头三平面令牌化技术解析
1. 多摄像头令牌化技术背景与挑战在自动驾驶系统中,实时处理多摄像头数据是实现环境感知的基础。传统基于ViT(Vision Transformer)的令牌化方案存在明显的计算瓶颈——每个摄像头输入的图像被分割为1616像素块进行编码,导致令牌数…...
