安卓微信本地数据库解密

Posted 强强强子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓微信本地数据库解密相关的知识,希望对你有一定的参考价值。

前提:安卓手机需要root 测试微信版本是8.0

有权限访问/data/data/com.tencent.mm

提取数据库文件

路径:/data/data/com.tencent.mm/MicroMsg/8e1435ec4ddf157ca48ec73b4fc108ac/EnMicroMsg.db
#8e1435ec4ddf157ca48ec73b4fc108ac这个文件夹名称是根据登陆的账号生成的 所以你的肯定不是这个 找一个相似的进去看看是否存在EnMicroMsg.db文件

获取数据库密码

数据是sqlite 但是是加密过的 需要解密 解密密码生成规则是手机IMEI+微信UIN md5(32位小写)后的前7位。

  • IMEI: 拨号盘输入 *#06# 可以获取(双卡手机可能有3个 都试试)

IMEI

经过测试发现加密规则更改了 IMEI统一使用:1234567890ABCDEF(可能版本差异,自行测试)

获取uin

方法一

路径:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <map>
  	<boolean name="auth_info_prefs_use_new_ecdh" value="true" /> 
  	<int name="_auth_uin" value="-1234567890" /> 
  	<boolean name="key_auth_info_prefs_created" value="true" />
  	<int name="key_auth_update_version" value="671092795" /> 
  	<string name="server_id">……</string> 
  	<string name="_auth_key">……</string>
   </map>

找到_auth_uin 后面的数字就是uin了(每个账号都不一样,符号也要)

方法二

路径:/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <map> 
	 	<boolean name="set_service" value="true" /> 
	 	<boolean name="first_launch_weixin" value="false" /> 
	 	<int name="appbrand_video_player" value="-1" /> 
	 	<int name="default_uin" value="-1234567890" /> 
	 	<int name="launch_last_status" value="2" /> 
	 	<string name="support.weixin.qq.com">szsupport.weixin.qq.com</string> 
	 	<string name="builtin_short_ips">……</string> 
 </map>

找到default_uin 后面的数字就是uin了(每个账号都不一样,符号也要)

获取密码

IMEI+NUI: 1234567890ABCDEF-1234567890
md5(32位小写)后就是 837eca6f17a4da07b21e878a215a9b0c 前7位就是密码
md5在线工具

破解数据库文件

需要软件DB Browser for SQLCipher 点击下载

打开软件

选择微信数据库文件

输入上面md5后的密码 选择message表


这里就是聊天记录了

以上是关于安卓微信本地数据库解密的主要内容,如果未能解决你的问题,请参考以下文章

安卓微信本地数据库解密

Android逆向分析实例-解密微信EnMicroMsg.db数据库

小程序本地图片文件在安卓机上显示时有时无的坑

原创:跳坑指南——微信小程序真机预览跟本地不同的问题

安卓逆向 -- POST数据解密

uni小程序上传图片,兼容安卓机不会自动弹出相机选项的写法