我在解密 Android QQ 的数据库中表情包这一项的解码
通过解密后是一段二进制数据,是 ACED0005
开头的,搜索得知是 Java Serialization 接口序列化后的文件。
但本人一个前端不会 Java ,请问有办法把 Java 序列化后的文件变成 JSON 么?
样本文件在这里 https://github.com/ZhangJun2017/QQChatHistoryExporter/issues/5
1
Bingchunmoli 2022-05-26 16:55:25 +08:00 via Android 1
用 java 反序列化后转 json ,但是没有原本类和序列化 id ,不会。
|
2
sutra 2022-05-26 17:00:50 +08:00 1
它的 apk 包里应该能找到 com.tencent.mobileqq.data.MarkFaceMessage 这个类的 class ,反编译一下。
|
3
sutra 2022-05-26 17:01:29 +08:00 1
|
4
demobin 2022-05-26 17:14:41 +08:00 1
`sudo pip intstall javaobj-py3`
``` Python 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import javaobj >>> j = javaobj.JavaObjectUnmarshaller(open('6618684157263489480.txt', 'rb')).readObject() >>> j. j.annotations j.cSubType j.dwMSGItemType j.faceName j.imageHeight j.index j.mobileparam j.sbfKey j.wSize j.cFaceInfo j.classdesc j.dwTabID j.get_class( j.imageWidth j.mediaType j.resvAttr j.sbufID >>> j. ``` |
5
chengyiqun 2022-05-27 14:53:18 +08:00
@demobin 有意思的库.
|