| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> vx索引数据库研究 -> 正文阅读 |
|
[大数据]vx索引数据库研究 |
????????python学习刚起步,原本想研究学习python web方向,结果遇到了一个有趣的研究——vx索引数据库研究。即通过索引库能不能找到删除的消息。 ????????其实网上都有教程步骤,我也是跟着大佬们的思路模仿一遍,但动手实践又是另一方面的事了,有大大小小的坑。下面讲的就是一路上遇到的问题。 1.IMEI值。我用的是雷电模拟器,虽然模拟器会提供一个随机的IMEI值,但是没用,不是我们需要的。模拟器data/data/com.tencent.mm/MicroMsg目录下的CompatibleInfo.cfg是空文件。不过通过对于反编译后的文件代码分析,如果IMEI为空的话,返回"1234567890ABCDEF"(个人理解) 2.UIN值。这个值在data/data/com.tencent.mm/shared_prefs目录下的system_config_prefs.xml和app_brand_global_sp.xml文件里找的到。 但可能会出现一个问题就是uin值可能为负的。这时候就得考虑要不要加上4294967296(最大无符号数)。需要分情况讨论。 一是解密EnMicroMsg.db这个文件时,uin保持不动,记得带上负号。 另一个是解密FTS5IndexMicroMsg_encrypt.db文件也就是索引库,负数的uin要加上4294967296 3.微信id。这个在解密后的EnMicroMsg.db后的文件里找的到。 4.密钥生成。 EnMicroMsg.db的密钥是(IMEI值加uin值)MD5计算后取前七位。 FTS5IndexMicroMsg_encrypt.db(uin值+IMEI值+微信id)MD5计算后取前七位。 5.sqlcipher工具选择。 打开EnMicroMsg.db用的工具名称是SQLite Database Browser 打开FTS5IndexMicroMsg_encrypt.db用的工具名称是DB Browser for SQLCipher。然后加密设置需要自定义。页大小为4096;KDF迭代为64000;HMAC和KDF算法都是SHA1; 遇到的坑和注意的细节大致就是这样。 这一次的探索还是十分有趣的,虽然是跟着大佬们的文章走,但是还是领略了不少解题思路风采,对于反编译出来的代码的研究虽然十分吃力,但在前人的肩膀上倒也勉强能理清思路,找到关键。 对于解密后的索引库的分析,我还是找不到被删掉的消息(瞎折腾了属于是)。不过慢慢来吧,希望删除的消息还存在着(祈祷)。 也算告一段落,重回正轨,继续探索python,近期objective得加一个——找课题写论文咯! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:59:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |