最近、Mi Band 2 の中国製クローンを手に入れました。必要なアプリは恐ろしいものです。そこで、バンドからのデータをより便利なものに解釈する別のアプリを作成する方法を考えました (mi バンドでさえ、ユーザーが作成した別のアプリがあるため、それが可能であることはわかっています)。
BLE デバイスとの通信に使用されるほとんどのコードを見つけるために、apk のリバース エンジニアリングを試みました。( mi fitアプリで誰かがそれをどのように行ったかについてのこのスレッドに触発されました)
だから私はこのスタックオーバーフローの質問で受け入れられた答えに従いました。
(私が見つけた唯一のオプションだったので、 APKTurboというページから apk をダウンロードしたことに注意してください。デバイスからアプリをコピーする方法はありません。)
上記の手順に従いましたが、作成された .jar ファイルには 3 つのファイルしか見つかりませんでした (スクリーンショット)。3つすべてがここにあります:
"com.qihoo360.crypt.entryRunApplication"のような言及があります。(Qihoo は中国のセキュリティ会社です)。
私はJavaの経験があり、Android用の非常に基本的なアプリを開発したことがありますが、残念ながら私は専門家ではありません.
したがって、私が見つけた唯一の推測は、アプリが暗号化されているか、アプリを入手した場所が何らかの保護方法を追加していることです。
次にBLE Scannerというアプリを使ってバンドを読み取ってみました。BLE デバイスの名前は RB09_heart であることがわかりました。4 つのサービスも見つかりました。私の記憶が正しければ、そのうち 3 つがカスタムで、1 つだけがバンドのデータ (デバイスの名前など) 用でした。
このデータをどう処理すればよいかわかりません。メッセージがバンドにどのように送信されるかを理解するには、アプリのコードを確認する必要があると思います。
次に何をすべきですか?または、どこで間違ったのですか?前もって感謝します。