当前位置: 首页 > news >正文

解密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 就可以看到数据啦
http://www.lryc.cn/news/290902.html

相关文章:

  • 海外云手机对于亚马逊卖家的作用
  • 交换机的发展历史
  • 用katalon解决接口/自动化测试拦路虎--参数化
  • CSRF靶场练习
  • pgsql的查询语句有没有走索引
  • jenkins部署(docker)
  • Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战
  • Springboot自定义线程池实现多线程任务
  • linux离线升级openssh方法
  • (五)MySQL的备份及恢复
  • VitePress-04-文档中的表情符号的使用
  • Redis客户端之Redisson(二)Redisson组件
  • 用Visual Studio Code创建JavaScript运行环境【2024版】
  • spring-web搭建
  • C++ 之LeetCode刷题记录(二十三)
  • 在ubuntu上在安装Squid代理服务器
  • 如何解决 MySQL 的 socket 错误
  • 5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型
  • 万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞
  • OpenCV 2 - 矩阵的掩膜操作
  • linux -- 内存管理 -- 页面分配器
  • StarRocks-3.1.0 单节点部署
  • 2023美赛A题之Lotka-Volterra【完整思路+代码】
  • 关于如何将Win幻兽帕鲁服务端存档转化为单人本地存档的一种方法(无损转移)
  • 计算机网络——IP协议
  • Linux命令-ar命令(建立或修改备存文件,或是从备存文件中抽取文件)
  • flask基于python的个人理财备忘录记账提醒系统vue
  • 【leetcode题解C++】257.二叉树的所有路径 and 404.左叶子之和 and 112.路径总和
  • Linux——文本编辑器Vim
  • 以“美”为鉴,探寻香港比特币现货ETF的未来发展