吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1408|回复: 20
收起左侧

[Android 脱壳] 默往聊天app加密协议分析,一个宣称是端到端加密的即时通讯应用

  [复制链接]
Stray3337 发表于 2026-1-31 22:51
本帖最后由 Stray3337 于 2026-2-1 00:05 编辑

默往app来自vivo应用市场
直接在其中搜索就可以下载到
https://h5.appstore.vivo.com.cn/period2/index.html

软件官方宣传其中有端到端加密,安全性强,那么这是真的吗?

Screenshot_20260131_224602.jpg

端到端加密是指客户端到客户端加密,而且应用后台服务器无法解密消息,因为解密所需密钥仅在双方的客户端存在

国内的聊天软件很少使用该技术保护聊天内容,因此下面会通过逆向工程的方式揭秘该软件是否实现了端到端加密


1.准备工作(脱壳)


发现该app使用网易易盾加固,所有的dex/native库均被隐藏,需要先脱壳

Screenshot_20260131_225552.jpg
这里使用56.al网站的apk安全测试进行脱壳,由于并不需要真正的运行软件,只要拿到源dex即可,无需修复
然后就成功脱壳了,拿到dex,这里没什么可说的。
反编译脱出来的dex也没有被混淆,所有方法名都是可见的


2.分析通讯协议及加密逻辑
该软件作为即时通讯应用,使用websocket作为与服务端通信的协议,这点与微信和t……m不同,


websocket实现逻辑位于com.mostone.lib.scoket.WebSocketManager
使用MT管理器的反编译功能查看实现
Screenshot_20260131_231056.jpg
根据日志推测send(j,str,j2)是向服务端发送消息的函数,第一个参数是操作码,第二个参数是消息内容的字符串,第三个参数是序列号
Screenshot_20260131_232500.jpg
初始化websocket链接的时候使用SSL加密连接,但是这是客户端-服务端加密,如果该软件使用端到端加密,那么应用层必须实现双方客户端的密钥协商,从开始就不太对了
(SSL加密是最基本的,任何现代应用都会有)


肉眼可见应用层加密是由AESHelper控制的,那想必这个类一定实现了端到端加密的全部逻辑吧
IMG_20260201_000217.jpg
开什么玩笑,你端到端加密的密钥还是硬编码的,无语了
最终发现应用层加密一共只有两个密钥,还是写在应用源代码里面的,任何人都可以知道,欺骗用户只是也得是个动态密钥吧


3.分析消息接受逻辑
由于该app的消息发送逻辑有些复杂,就不分析了,直接看消息的接收逻辑
com.mostone.lib.im.websocket.receive.MakeMsg
该类是从websocket返回的数据直接取出聊天消息的类
Screenshot_20260131_234453.jpg
发现:
应用把所有业务数据以json格式明文存储,然后直接通过websocket连接传输到服务端,没有其他任何保护措施,服务端可以解密所有用户聊天


此外dex/native库中也没有发现任何用于实现端到端加密的库,这里就可以直接得出结论了


结论:
该应用没有实现任何端到端加密功能,却宣传其通过端到端加密保护聊天,并且在app内所有聊天顶部均提示端到端加密,建议避坑该app
这里就不过多评价了,梳理一下该应用的消息发送及加密流程:


1-用户输入消息并点击发送
2-应用将消息类型/发送、接收者/内容序列化为明文json字符串并传给websocketManager.send()
3-websocket有SSL的端到服务端加密,但是服务端是可以解密SSL的,因为其本身的握手对象就是服务端
4-AESHelper是唯一的应用层加密手段,但是密钥是硬编码的,服务端知道该密钥(任何人都知道)
5-经过这两层简陋的保护,数据包传输到服务端
6-服务端解密这两层加密并看到你的聊天记录


一点端到端加密手段都没有,安装包还160mb








免费评分

参与人数 8吾爱币 +16 热心值 +8 收起 理由
邪汐 + 1 + 1 我很赞同!
风松鱼 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
qq8945051 + 1 + 1 谢谢@Thanks!
buluo533 + 1 + 1 用心讨论,共获提升!
三滑稽甲苯 + 2 + 1 用心讨论,共获提升!
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
limit7 + 2 + 1 用心讨论,共获提升!
helian147 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sdieedu 发表于 2026-2-2 20:01
大佬能不能推荐一个真的端到端加密app?非常感谢
namelin2 发表于 2026-2-18 10:41
yk2014 发表于 2026-2-3 14:47
有一个问题想问下,如果它真的实现了端到端加密,那么我发信息,对方想要解密,肯定得知道我是怎么加密的吧 ...

这种端到端加密,都是应用端事先定义一个加密文件,比如你可以发一个图片给对方,让对方用这个加密解密,当然一般是公钥私钥加解密,但是可以在公钥私钥加解密,还可以用一张私有的图片再进行加解密,这样基本不会被人破解,毕竟私有图片可以通过其他方式发送给对方
loopg 发表于 2026-2-2 16:06
ma5635 发表于 2026-2-3 00:29
一般都用不到!
yingzi89 发表于 2026-2-3 01:17
支持一下,还是自己写的靠谱
ltgb 发表于 2026-2-3 08:12
sdieedu 发表于 2026-2-2 20:01
大佬能不能推荐一个真的端到端加密app?非常感谢

国内没有
国外指路 Telegram
limit7 发表于 2026-2-3 10:31
厉害了这,扒了他的皮
316000042 发表于 2026-2-3 13:48
这个我要支持下,。
yk2014 发表于 2026-2-3 14:47
有一个问题想问下,如果它真的实现了端到端加密,那么我发信息,对方想要解密,肯定得知道我是怎么加密的吧?那我的加密方法和密钥的传输不还是得经过服务器吗,换句话说,对方能得到的解密办法,服务器也能获取到,怎么来确保服务器无法解密呢?只能靠服务方的自觉吗
ahappy368 发表于 2026-2-3 16:02
一般人也不会知道,这样宣传可以吸引眼球
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-3-10 07:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表