我在 Android 上遇到过谷歌地图使用的 SQLite 数据库 (gmm_storage.db),我不确定它包含的数据是如何序列化的。例如:
我说的是序列化,因为从头 0xACED 看它似乎是一个 Java 序列化对象。然而,由于我不知道序列化的类实际上是什么样子,我一直无法反序列化它。
我也不完全确定它是标准的 Java 序列化,因为我尝试了许多不同的工具和 Java 本身,并且所有这些工具都报告流已损坏。
您可以看到一些对标准 Java 类(例如 java/util/Set)的引用,但也可以看到许多对诸如“fic”或“vot”之类的较小引用。我猜这些要么是混淆的类名,要么是某种查找/偏移表的一部分。
我的另一个猜测是,由于它是 Google 产品,因此它可能使用 Google 序列化库,例如 GSON 或 protobuf,但数据看起来不像其中任何一个。
任何人之前都遇到过这个问题,或者可以对此有所了解吗?