2018年5月8日火曜日

ソフトウェアラジオを使ったGPSシミュレータのメモ

位置偽装装置について調べていたら引っかかった製品のメモ

HackRF One

画像は秋月より
ソフトウェア制御で1MHz~6GHzの送受信を行うことができるソフトウェアラジオ
この帯域にはGPSの信号も含まれるので位置情報の偽装も可能となる
位置座標→GPS信号変換のコードも既にある模様

ワンセグチューナーUSBドングルを改造したレシーバが一時流行っていた記憶がある
送信側として使う用途があるのは恥ずかしながら知らなかった
機会があれば触ってみたい

例の位置偽装装置もこれでは…?と思ったが
・2つのクライアントに別々のデータを送っていること
・最終的に有線式になったこと
から別の方式と思われる

2018年5月7日月曜日

YouTubeの位置偽装装置に対する考察

YouTubeで公開されている位置偽装装置に対する考察
商売っ気を出している&フェイクの可能性もあるのでリンクは無し
真偽不明なのがワクワクするね

偽装方法の考察:

iOS用外付けGPSのハックと思われる
 ・既製品の外付けGPSをPC側から座標指定できるようにした
  (ファームのハック、もしくは開発者モード、開発者コマンドなどによる)
 ・マイコン等で外付けGPS自体に偽装している
  (iPhone側からは正規の外付けGPSに見える)
のどちらか
強気の値段、受注生産である点を考えると前者か?
(既製品の流用であるためそもそもの原価が高い)

動画からわかること:

・対象はiPhone
 (最新Verクライアントが起動しているので、JBはしていないという設定のハズ)
・PCから座標形式で偽装先を指定している
・何らかの装置がPCとUSB接続
・装置の外装はムクの適当なケース
・Ver1.0は無線、Ver2.0はUSBで装置に接続
・Ver1.0では2台同時かつ別座標へ偽装を実施している

>・PCから座標形式で偽装先を指定している
GPSレイヤーのハッキングである可能性が高い
座標→APの逆引きはリアリティがないし、道なりに歩くなど位置精度がかなり高い

>・2台同時かつ別座標へ偽装を実施している
同じデータを周囲にブロードキャストしているわけではない
少なくとも2台別々に異なるデータを渡すことができる
この点から偽装したGPS信号そのものを周囲に発信していないことが分かる

>・無線orUSB接続
無線(おそらくBluetooth) or lightning接続という点から外付けGPSが想起される
iOSは『GPSのみ』での動作が可能なのでwifiやLTEによるAP測位は無視できる
(ただし最新iOS最新クライアントVerで外付けGPSプレイが可能かは未確認)
GoPlusでBluetoothを使うことになるので、重複を避けて有線にした?
単なる低コスト化で中身を有線タイプにした?


流石に購入する熱意は無いので人柱待ち

2018年5月6日日曜日

M5StackのGPSで手間取ったメモ

M5Stack
http://www.m5stack.com/

ESP32 + ディスプレイ + microSDスロット + αのプラットホーム
ArduinoのShieldのようにモジュールをスタックすることができる

GPSモジュールを使ったのだがいろいろハマってしまったのでメモを残す
画像はスイッチサイエンスより

症状:正しい測位ができない

シリアル経由でGPSモジュールから位置情報が送られてくるのだが数値はほぼ0
位置情報のフォーマット自体は守られているので位置データだけがおかしい
外部アンテナを接続しても症状は変わらず


原因1:最初の測位には時間がかかるため

GPSモジュールの最初の測位には時間がかかる
即位してから数分は正常な値が返されない
電源を投入して数分放置すると正常な値を返してくる
(レスポンスが遅いわけではない/数分間の間は異常な値を返し続ける)
EEPROMなどに前回の測位を記憶しておくことで短縮が可能
(このモジュールには記憶領域は無いため、M5Stack側でケアする前提)


原因2:外部アンテナは必須

このGPSモジュール内の基板にはパターンを含むアンテナが存在しない
外部アンテナを付けることが前提の設計
外部アンテナが接続されていない限りはどれだけ放置してもダメ


どちらもこの手のGPSモジュールでは当然のことらしい
ポケットから取り出して電源ON→即測位…みたいな使い方を期待していたがダメっぽい