概要#
大学生にとって、ランニングのチェックインは非常に困難な操作です。そのため、さまざまな方法が生まれました - スポーツ選手の単独の周回、小さなゴミのリレーチェックイン、自転車 / 電動車を使用したチェックイン、そして新興の仮想位置。
左家垅職校は現在、独自に開発されたランニングチェックインの WeChat ミニプログラムを使用しています。WeChat ミニプログラムは、取得できるデバイス情報が少ないため、仮想位置のチェックインを比較的簡単に実現できます。
以前は、iOS デバイスでは iTools を使用して位置情報を変更していました。Android デバイスでは、ブートローダーをアンロックし、Magisk をフラッシュし、Fake Location の許可を与える必要があります。これにより、私は大学の最初の学期に食事中、授業中、ベッドでチェックインすることができました。
今学期は 9 月 5 日からランニングチェックインが始まりました。私は Fake Location の月間会員に 9CNY を支払い、同じ方法を再び試す準備をしました。しかし、チェックインプログラムを開いてみると、いつまでもチェックインを開始できませんでした。カスタマーサービスに相談した結果、学校がランニングチェックイン時に関連する装置を運動場に設置したことがわかりました。
[collapse title="チャット履歴を表示"]
[/collapse]
この時点で 2 つの選択肢があります:①ランニングチェックインの前に毎回運動場に行き、装置が運動場の関連装置の Bluetooth 信号を検出した後に仮想位置のチェックインを開始すること。②運動場の装置の Bluetooth 関連情報をクローンし、自分のデバイスでブロードキャストして、いつでもどこでもチェックインすること。
明らかに前者は運動場に行く(出発する)段階で多くのエネルギーを浪費することになり、環境保護にとっては良いことではありません。したがって、私は後者を選びました。
解決のプロセス#
まず、私は当然ながら携帯電話とタブレットを運動場に持って行きました。
運動場に到着後、携帯電話の Bluetooth 設定画面を開き、Bluetooth デバイスを検索すると、多くのデバイスが表示されます。
[collapse title="画像を展開"]
[/collapse]
運動場での移動とオンライン検索の結果を組み合わせると、HB511007XXXX は道路脇のハローシングルの Bluetooth 信号であるとわかります。xBeacon は学校が新たに設置した装置であると思われます。
次に、nRF Connect を使用してさらに情報を確認します。
これは iBeacon プロトコルを使用していることがわかります。iBeacon に関する詳細な情報は関連文書を参照してください。
Wikipedia には次のような情報があります:
iBeacon は、他の位置ベースの技術とは異なり、ブロードキャストデバイス(ビーコン)はスマートフォンまたは受信デバイスに対して単方向の送信機であり、ビーコンとの対話には特定のアプリケーションのインストールが必要です。これにより、ユーザーがビーコンの周りを移動するときに、インストールされたアプリケーション(ビーコン発信機ではなく)だけが追跡できるようになります。
これは、スマートフォンが xBeacon からの信号を単方向で受信し、合法的なエリアにいるかどうかを判断することをさらに説明しています。
したがって、iBeacon の信号を模倣すれば目的を達成できます。淘宝では多くの iBeacon モジュールを購入できますが、価格は 80 元を超えるため、私は購入する意欲がありませんでした。
私はいくつかの携帯電話 / コンピューターソフトウェアを使用して信号を模倣しようとしました。
テストの結果、Beacon Simulator を使用すると、Bluetooth の MAC アドレス以外の情報をクローンすることができます。以下の画像をご覧ください:
2 つの通知情報(RAW)、UUID、Major、Minor などが完全に同じであることがわかります。これで、チェックインの模擬に必要な条件をテストする必要があります。
運動場の元の信号の干渉を避けるために、私はタブレットと携帯電話を 200 メートル離れた場所まで持って行きました。運動場の xBeacon 信号が検出されないことを確認した後、模擬信号のブロードキャストを開始し、ランニングチェックインのプログラムを開きましたが、何の効果もありませんでした。
私は再び運動場に戻りました。
したがって、ランニングチェックインのプログラムは特定の MAC アドレスの Bluetooth デバイスが発信する通知情報のみを検出するようです。模擬時には MAC アドレスも模擬する必要があります。
私は再び淘宝に戻り、ある販売業者とのコミュニケーションの後、ECB02U Bluetooth モジュールで MAC アドレスと RAW データを変更できることを知りました(送料を含めて 10 元以下)。私は即座に注文しました。(返金の理由については後で説明します)
寮に戻る途中、私は偶然にも @ztc1997 が書いた xposed モジュールを見つけました。これは BLE ペリフェラルデバイスのブロードキャストを模擬することができます。
[collapse title="投稿を表示"]
[/collapse]
寮に戻った後、このモジュールを使用して、MAC アドレスが D4:10:28:00:03:11 の xBeacon 発信機が発信する信号を模擬しました。
再度ランニングチェックインを試みると、すでに正常に位置が特定されています(この時点で私は寮にいます)。
これで問題は解決しました。必要なものは:9 元の人民元(Fake Location の会員資格を開くため)、アンロック可能な Android デバイス、そして少し愚かではない手です。
2022/09/20:iOS デバイス所有者は ECB02U Bluetooth モジュールを購入して Bluetooth シミュレーションを実現できることが確認されました。2022/10/13:ECB02U Bluetooth モジュールを使用した BLE 信号のシミュレーション