Bluetooth le デバイスに接続し、すべてのサービスと特性を一覧表示できるアプリを作成しました。ただし、認識されるサービスは「デバイス情報サービス」だけです。「不明なサービス」もありますが、探しているデータを渡していないようです。デバイスに付属の公式アプリは正常に動作しているので、デバイスは正常に動作していると確信しています。何が問題なのですか?探している情報が不明なサービスで渡され、何らかの形で暗号化されている可能性はありますか?
1 に答える
アプリはサービスを正しく検出します。問題はありません。問題は、サービスが一般的なものであると期待しているが、そうではなく、ベンダー固有のサービスであることです。
サービス (特性) は簡単に認識できます。その UUIDのvendor specific
長さは 128 ビットです。また、nRF Connect などの一般的な BLE アプリでは解決されません。これは、特定のもので一般的ではないという単純な理由によるものです。
企業が汎用サービスを実装するデバイスを販売する場合、それが複数のアプリケーションで動作することを知っていますが、これらのアプリケーションが競合他社の他のデバイスでも動作することも知っています。たとえば、複数の会社から心拍ベルトを購入し、スマートフォンの複数のフィットネス アプリで使用できます。
企業がベンダー固有のサービスを実装するデバイスを販売する場合、自社のアプリケーション以外のアプリケーションでは動作しないこと、および自社のアプリケーションでも動作するデバイスを競合他社が販売できないことを知っています。
2 つの異なる戦略、多くの異なる目標。
基本的に、あなたが遊んでいるデバイスを設計した会社は、デバイス内のデータにアクセスするために、自社のアプリ以外の別のアプリを使用できるようにしたくありませんでした. それはとても簡単です。
今でも彼らのサービスをリバース エンジニアリングできます。スニファーを使用して、アプリの使用時に転送されたデータと実際にアプリに表示されたデータを比較すると、いくつかのロジックが見つかり、彼らがサービスでデータをどのように隠しているかを知ることができます. ただし、おそらく、これまたはあれをリバースエンジニアリングしてはならないという条項があります。
ここで一般的なサービスを見ることができますが、私が言ったこと以外は何も学びません: BLE GATT サービス