首页
社区
课程
招聘
[原创]我的微信数据监控研究发展过程
发表于: 2019-1-29 17:49 15382

[原创]我的微信数据监控研究发展过程

2019-1-29 17:49
15382

严重声明
本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文

严重声明
本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文

以下内容适用范围:已经获取root权限的手机

近两年来一直在做Android端微信的消息备份功能,一开始是调研自己实现,现在是公司业务需要,现已实现好友相关信息备份,监控消息、领取红包、监控发布朋友圈数据、监控朋友圈点赞回复等功能。

微信相关基本知识:

1.聊天消息表、联系人表、头像信息表、联系人标签表、红包转账信息表等都存在EnMicroMsg.db数据库中,但该数据库被加密,需要密码才能查看。
2.EnMicroMsg.db地址是/data/data/com.tencent.mm/MicroMsg/32位字符串/EnMicroMsg.db,32位字符串是通过MD5加密("mm"+uin码)得出的,如果有多个32位字符串的文件夹,说明登录过多个微信号,微信号不同,uin码不同。同一级的还有其他数据库,比如SnsMicroMsg.db,存放的是微信朋友圈相关表,该数据库无密码,可直接查看。
3.EnMicroMsg.db的密码是MD5(imei码+uin码).substring(0, 7).toLowerCase()得到,imei码是通过获取手机IMEI码得到,uin码是微信SharedPerferences中存储的,文件位置\data\data\com.tencent.mm\shared_prefs\auth_info_key_prefs.xml,通过解析xml文件来得到"_auth_uin"字段的值。
4.当前登录微信的账号ID存放于\data\data\com.tencent.mm\shared_prefs\notify_key_pref_no_account.xml文件中,通过解析xml文件来得到"login_weixin_username"字段的值。


1.静态监控

是我一开始参考网上文章后实现监控的方法,使用的是定时复制数据库,并读取的方法
定时复制微信的数据库文件到我的文件夹下,计算得到密码后,使用sqlcipher连接并传入密码来读取数据,然后发送到服务器。

2.动态监控

可以看到静态监控的方法并不完善,并不能做到实时监控,在我接触到Xposed后开始使用hook 拦截的方式来监控微信数据
可以说微信是我反编译大厂app后发现的少数不做加固的app之一,让我省去了脱壳的步骤



这里主要对监控发布朋友圈数据进行详细教程,包含xposed的大多数使用。


-1使用 当前Activity 这个app来查看发布朋友圈页面的包名和Activity。

以下内容适用范围:已经获取root权限的手机

近两年来一直在做Android端微信的消息备份功能,一开始是调研自己实现,现在是公司业务需要,现已实现好友相关信息备份,监控消息、领取红包、监控发布朋友圈数据、监控朋友圈点赞回复等功能。

微信相关基本知识:

1.聊天消息表、联系人表、头像信息表、联系人标签表、红包转账信息表等都存在EnMicroMsg.db数据库中,但该数据库被加密,需要密码才能查看。
2.EnMicroMsg.db地址是/data/data/com.tencent.mm/MicroMsg/32位字符串/EnMicroMsg.db,32位字符串是通过MD5加密("mm"+uin码)得出的,如果有多个32位字符串的文件夹,说明登录过多个微信号,微信号不同,uin码不同。同一级的还有其他数据库,比如SnsMicroMsg.db,存放的是微信朋友圈相关表,该数据库无密码,可直接查看。
3.EnMicroMsg.db的密码是MD5(imei码+uin码).substring(0, 7).toLowerCase()得到,imei码是通过获取手机IMEI码得到,uin码是微信SharedPerferences中存储的,文件位置\data\data\com.tencent.mm\shared_prefs\auth_info_key_prefs.xml,通过解析xml文件来得到"_auth_uin"字段的值。
4.当前登录微信的账号ID存放于\data\data\com.tencent.mm\shared_prefs\notify_key_pref_no_account.xml文件中,通过解析xml文件来得到"login_weixin_username"字段的值。


1.静态监控

是我一开始参考网上文章后实现监控的方法,使用的是定时复制数据库,并读取的方法
定时复制微信的数据库文件到我的文件夹下,计算得到密码后,使用sqlcipher连接并传入密码来读取数据,然后发送到服务器。

2.动态监控

可以看到静态监控的方法并不完善,并不能做到实时监控,在我接触到Xposed后开始使用hook 拦截的方式来监控微信数据
可以说微信是我反编译大厂app后发现的少数不做加固的app之一,让我省去了脱壳的步骤



这里主要对监控发布朋友圈数据进行详细教程,包含xposed的大多数使用。


-1使用 当前Activity 这个app来查看发布朋友圈页面的包名和Activity。


当然也可以使用adb来查看

可以看到有一个SnsEditText的变量,很大把握可以确定这个变量就是发朋友圈的文本输入框,

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-1-30 13:59 被JovenHe编辑 ,原因:
收藏
免费 6
支持
分享
打赏 + 6.00雪花
打赏次数 3 雪花 + 6.00
 
赞赏  Editor   +2.00 2019/02/25 精品文章~
赞赏  supperlitt   +2.00 2019/02/16
赞赏  junkboy   +2.00 2019/01/29
最新回复 (37)
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持   
2019-1-29 17:55
0
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
666 厉害了
2019-1-29 18:24
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
666 
2019-1-30 07:56
0
雪    币: 6573
活跃值: (3893)
能力值: (RANK:200 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2019-1-30 10:50
0
雪    币: 123
活跃值: (1675)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
,辛苦辛苦
2019-1-31 10:34
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
支持 支持
2019-2-1 13:17
0
雪    币: 2155
活跃值: (4532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我感觉使用xposed获取微信数据封号率很高 至今无法解决 
2019-2-3 12:10
0
雪    币: 3014
活跃值: (1717)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
9
小黄鸭爱学习 我感觉使用xposed获取微信数据封号率很高 至今无法解决
我的微信测试号一直在用我写的Xposed的模块,至今两年多,从来没有封号或者警告过。
要么是你的模块某些行为触及到微信底线,要么你的微信号是新注册的,是有封号风险的。
2019-2-11 14:13
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
微信最近通过好友,封号极其严重, 不知道是否能避开检测或是有办法可以通过好友验证。降低封号成本
2019-2-15 23:59
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
11
感谢分享。
2019-2-16 12:21
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
大神,怎么实现一个Xposed的模块,监控多个微信号呢?
2019-2-25 17:12
0
雪    币: 9628
活跃值: (3708)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
微信被封过几次不敢玩了
2019-2-25 18:33
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
zhangnew 微信被封过几次不敢玩了
封号后如何解开呢
2019-2-27 21:26
0
雪    币: 9628
活跃值: (3708)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
petersonhz 封号后如何解开呢[em_20]
永封无解,不是永封的它会告诉你怎么解
2019-2-28 19:50
0
雪    币: 152
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
纯 技术贴支持一下…………感谢分享
2019-2-28 20:26
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
不明觉厉
2019-2-28 21:14
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
zhangnew 永封无解,不是永封的它会告诉你怎么解
用xposed被让企鹅发现么
2019-3-1 05:16
0
雪    币: 9628
活跃值: (3708)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
petersonhz 用xposed被让企鹅发现么[em_16]
抢红包(微x)
2019-3-2 01:18
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
zhangnew 抢红包(微x)
你用xposed抢到多少钱红包呢
2019-3-3 18:18
0
雪    币: 236
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
感谢分享。
2019-3-3 18:26
0
雪    币: 9628
活跃值: (3708)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
petersonhz 你用xposed抢到多少钱红包呢[em_13]
没多少,正常使用而已
2019-3-9 14:34
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
zhangnew 没多少,正常使用而已
那企鹅为啥要封你呢
2019-3-10 08:36
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
可以用用 FastHook——一种高效稳定、简洁易用的Android Hook框架    hook框架。
基于yahfa hook方案 改进的。填了好多坑。。应该会比xpose 好用。
当时也是基于 微信做的。基本上什么坏事都可以干吧。
最后于 2019-3-13 11:19 被乐宝daddy编辑 ,原因: 添加超链接
2019-3-13 11:19
0
雪    币: 9628
活跃值: (3708)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
petersonhz 那企鹅为啥要封你呢[em_4]
因为用了 Xposed
2019-3-13 11:45
0
游客
登录 | 注册 方可回帖
返回
//