3

我制作了允许我连接到蓝牙设备并列出所有服务和特征的应用程序。然而,唯一认可的服务是“设备信息服务”,还有“未知服务”,但它似乎没有传递我正在寻找的数据。我确信该设备工作正常,因为附加到设备的官方应用程序工作正常。可能是什么问题呢?我正在寻找的信息是否有可能在未知服务中传递并以某种方式加密?

4

1 回答 1

4

您的应用程序正确发现了服务,问题不存在。问题是您希望该服务是通用服务,但事实并非如此,它是特定于供应商的服务。

服务(特征)很vendor specific容易识别:它的 UUID 是 128 位长。此外,nRF Connect 等通用 BLE 应用程序也无法解决它,原因很简单,它们是特定的而不是通用的。

当一家公司销售实现通用服务的设备时,他们知道它可以与多个应用程序一起使用,但他们也知道这些应用程序也适用于竞争对手的其他设备。例如,您可以从多家公司购买心率带,并将其与智能手机上的多个健身应用程序一起使用。

当一家公司销售实现供应商特定服务的设备时,他们知道它不能与除他们自己的应用程序之外的其他应用程序一起使用,并且没有任何竞争对手能够销售也可以与他们的应用程序一起使用的设备

两种不同的策略,许多不同的目标。

基本上,设计您正在使用的设备的公司不希望您能够使用其他应用程序而不是他们自己的应用程序来访问设备中的数据。就是这么简单。

现在您仍然可以对他们的服务进行逆向工程。使用嗅探器,将使用他们的应用程序时传输的数据与应用程序中实际显示的数据进行比较,也许您会找到一些逻辑,并了解他们如何在服务中隐藏数据的艰难方式。但是,他们可能有一些条款规定您不得对这个或那个进行反向工程。

你可以在这里看到通用服务,但你不会学到比我说的更多的东西:BLE GATT Services

于 2016-09-06T13:02:52.713 回答