谷歌地图,安卓序列化格式

逆向工程 二元分析 安卓 爪哇
2021-06-24 05:14:03

我在 Android 上遇到过谷歌地图使用的 SQLite 数据库 (gmm_storage.db),我不确定它包含的数据是如何序列化的。例如:

从 Google Maps Android 数据库中提取的 Blob

我说的是序列化,因为从头 0xACED 看它似乎是一个 Java 序列化对象。然而,由于我不知道序列化的类实际上是什么样子,我一直无法反序列化它。

我也不完全确定它是标准的 Java 序列化,因为我尝试了许多不同的工具和 Java 本身,并且所有这些工具都报告流已损坏。

您可以看到一些对标准 Java 类(例如 java/util/Set)的引用,但也可以看到许多对诸​​如“fic”或“vot”之类的较小引用。我猜这些要么是混淆的类名,要么是某种查找/偏移表的一部分。

我的另一个猜测是,由于它是 Google 产品,因此它可能使用 Google 序列化库,例如 GSON 或 protobuf,但数据看起来不像其中任何一个。

任何人之前都遇到过这个问题,或者可以对此有所了解吗?

0个回答
没有发现任何回复~