我在解密 Android QQ 的数据库中表情包这一项的解码
通过解密后是一段二进制数据,是 ACED0005 开头的,搜索得知是 Java Serialization 接口序列化后的文件。
但本人一个前端不会 Java ,请问有办法把 Java 序列化后的文件变成 JSON 么?
样本文件在这里 https://github.com/ZhangJun2017/QQChatHistoryExporter/issues/5
|      1Bingchunmoli      2022-05-26 16:55:25 +08:00 via Android  1 用 java 反序列化后转 json ,但是没有原本类和序列化 id ,不会。 | 
|  |      2sutra      2022-05-26 17:00:50 +08:00  1 它的 apk 包里应该能找到 com.tencent.mobileqq.data.MarkFaceMessage 这个类的 class ,反编译一下。 | 
|  |      3sutra      2022-05-26 17:01:29 +08:00  1 | 
|      4demobin      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. ``` | 
|  |      5C02TobNClov1Dz56      2022-05-27 14:53:18 +08:00 @demobin 有意思的库. |