【HarmonyOS NEXT】从泄露的QQ.hap中分析QQ使用了哪些技术,为什么要用?

2025-08-06 22:08:25 5650

1. 背景

2024年10月15日晚上各大微信群和QQ群都在疯传QQ.hap ,最为火热的截图是,各种做QQbot 机器人的人兴奋的不得老,原因是:QQ.hap 解包后可以看到QQ的消息结构体使用的是protobuf,protobufdu对应的im_msg_body.proto 中描述了各种微信消息的类型和注释。

2. 分析QQ使用了哪些技术,为什么用?

笔者在拿到QQ.hap后,发现鸿蒙版的QQ其实使用了很多有意思的技术

2.1 protobuf

Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化 。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

2.2 protobuf 优点

序列化后体积相比Json和XML很小,序列化反序列化速度很快,总之就是吊打JSON,在鸿蒙中可使用@ohos/protobufjs 库使用。 protobufjs使用文档:https://ohpm.openharmony.cn/#/cn/detail/@oho