ラベル ポケモンGO の投稿を表示しています。 すべての投稿を表示
ラベル ポケモンGO の投稿を表示しています。 すべての投稿を表示

2020年9月3日木曜日

pokemon Go BOT (位置偽装装置)の改修

以前に作成したポケモンGoBOTに大きく手を加えた
おそらくこれが最終版となる
以下はそのメモ



位置偽装ユニット統合版

以前のポケモンGoBOTは3つのユニットから構成されていた
今回はこれを1つのユニットに統合した
制御マイコンはM5StickCであり、以下の機能をすべて担当する
・wifi位置偽装
・PCからの位置偽装データ受信(および保持)
・サーボモータ制御




TIPS

・スマホの充電ケーブルへの負荷が大きかったため、負荷分散する構造に変更

・サーボは最大電流400mA程度のものを使用
 →M5StickCの5Vから電源供給しているため、ギリギリ

・PCからの位置偽装データ受信方法を変更
 旧:逐次データを受け取る。PC側で送信をループする
 新:最初に一括で受け取る。M5StickC側で参照をループする
 →BOT動作中にPCを占有する必要がなくなった
  データ受信後はUSB電源に接続すればよい



2019年9月23日月曜日

ポケモンGoBOT(位置偽装装置)稼働3年目

以前に作成したポケモンGoBOTは現在も稼働中(3年目)である
以下は現時点の構成、稼働状況についてのメモ
 20ヵ月目の過去メモ

システムを構成する3点セット

位置偽装ユニット

6基のESP-WROOM-02と1基のRN-41-SMからなる位置偽装ユニット
前回から構成の変更なし
かなりの稼働時間にもかかわらず未だに一基の故障もない

画像は以前のもの

GoPlus+サーボモータ制御ユニット

自動化したGoPlusとサーボモータ制御用マイコンをUSB電源に繋いだユニット
前回とほぼ同じ
以前にGoPlus自動再接続機能を追加したが、動作が不安定であるためオミットした

左が制御ユニット/別件で使用したためGoPlusは基盤むき出しで使用

スマホ揺らしユニット

スマホ(ここではiPodtouch)を揺らすユニット
サーボの損耗が激しいため置台を軽量化した
(保護ケースの背面中央にサーボホーンを接着しただけ)
また、モータ固定用のゴム台が破損したためユニバーサルプレートで新造した

保護ケースにサーボホーンが接着されているのがわかる
ある程度の接地面が無いと揺らしたときに倒れる

クライアント

wifiアンテナを除去したiPodtouch(第7世代)に有線LANアダプタを付けたもの
ライトニング端子に直接接続できるアダプタ(ノーブランド)に変更
性能は懐疑的であったが問題なく動いている

アダプタ自体の作りは非常にラフ/LANケーブル挿抜だけで外装が外れそうになる

位置偽装の知見

・同一端末複数アカウントのチェックが緩い(もしくは無い)
 キラポケモン等の要素追加に伴い、同じ環境で別垢キャラを育てている
 (TL39程度)
 現時点で警告やbanは無い

・wifiアンテナ除去+有線LANの効果が非常に高い
 現在の環境ではiPodtouchから見えるAPは位置偽装ユニットの6基のみ
 位置偽装に理想的な状態を作ることができている
 
 ※ただしここまでアンテナ依存なのは珍しい設計
 アンテナが無い基部のみでもある程度の受信能力を持つ
 他のスマホでアンテナ除去しても受信能力がここまで下がることはない

・APの情報が経時で使えなくなる問題
 一度構築した位置偽装用AP群のデータが経時で使えなくなる問題は健在
 以前はこの問題に対して
 『位置偽装によって位置情報データベースを汚染しているのでは?』
  (→周囲にあるAPを偽装先の位置情報と結びつけてしまう)
 という予想をしていた
 現在の環境では位置偽装ユニット以外のAPは検知できないので想定は成立しない
 位置情報データベース自体が逐次更新されているものと思われる

3年2か月分のスコア




2019年8月27日火曜日

Pokemon Go Plus海賊版の現状(2019/8)

以下は定期的にウォッチしているポケモンGoプラス海賊版市場の現状について
前回から傾向に変化あり

現在入手可能な唯一の正規品

全体の傾向

・完コピ品はやや下火に
 以前は主流であった完コピ品の出品数が目に見えて減少
 『正規品は既に入手不可』という情報が周知された結果か

・モンスターボールPlusの互換機は未だ現れず
 発売からかなりの時間が経ったが1例も無し

・互換機の値上がり傾向
 互換機(オートキャッチなど)の値上がりが顕著
  参考価格(ヨドバシ.com 2019/8/27調べ):
   オートキャッチ     7600円(ポイント10%還元)
   モンスターボールPlus 5360円(ポイント1%還元)
 入手可能な正規品よりも高い
 モンボPlusの登場により互換機が食われるか?と思われたがそうでもない様子

互換機と海賊版のボーダーライン

正規品の模倣部分(デザイン・商品名・内部構造など)があれば海賊版
機能の再現(互換動作)は合法

互換機はヨドバシなどの量販店で売られているのでそこで判別できる

※ただし、サービス側が互換機の接続を拒否するのも合法
 →現状は排除されていない(互換機と正規品を判別できない?)

現行互換機・海賊版リスト

・完コピ品
 形状も含めて正規品を模倣したもの
 言い訳の効かない海賊版

 主流ではなくなったものの未だに売られている

・オリジナルカラー・ワンポイントマーク
 完コピ品の塗装だけ異なるもの
 チームマークを入れているタイプが多い

 デザインを変えることで商品性が上がる?
 正規品と僅かに変えることでなんらかのリスクが減る?
 理由は謎
ワンポイントと完コピ品

・バッテリー+自動捕獲
 充電池を内蔵してオートキャッチ機能を付けたもの
 正規品から厚みが増しており、USB端子と切り替えスイッチがあるのが特徴

サイドにUSBポートと切り替えスイッチが見える

・バッテリー+自動捕獲+四角
 GoPlusの涙型形状を完全にスポイルして角型にしたもの
 コピー品として排除されない工夫?


・オートキャッチ
 定番化した感がある
 量販店など正規販路でも扱われるのがポイント

普通に買えるのがミソ

・デュアルオートキャッチ
 互換機の大きなトレンド
 GoPlus2台分の機能が1つの筐体に収められているもの
 それぞれ別のスマホに接続してオートキャッチが可能
 複数台持ち需要か
そのうち3台分4台分もありそう

2019年6月1日土曜日

新iPod Touch(第7世代)購入後に即分解してアンテナを外した話

ポケモンGoBOTは未だに稼働中(33ヵ月目)である
第6世代iPod Touchは限界に近く、どうしようか悩んでいたところに新型が発売
以下はこれ幸いと飛びついてリプレースした際のメモ

第7世代(左)と第6世代(右)外観は全く同じ

iPod Touch(第6世代)でのポケモンGOプレイの現状


2019/06現在のiOSはVer12.2、クライアントはVer1.111.2
アプデのたびに重くなるクライアントに対して完全にスペック不足
博士にポケモンを送る、フレンドにギフトを送るなど通信が絡むと頻繁に落ちる
(クライアントが強制終了する)
イベント時などフィールドにシンボルが増えるとこれまた落ちる

iPod Touch(第7世代)の分解とアンテナ外し


前回同様、iPod Touch(第7世代)を分解してアンテナ外しを試みた
(BOTに使うにはwifi感度が悪いほど良いため)

第7世代の構造は第6世代と酷似している
第6世代と全く同じ方法で分解できた

右はアンテナを外した第6世代/wifi感度が極端に悪い

分解に必要なもの


 精密ドライバー(プラスのNo.00)
 取っ手つき吸盤
 樹脂のヘラやピック
 ドライヤー

STEP1 画面を外す(開く)


 本体のメイン電源を切る
 表面ボタンの両側をドライヤーであぶり、内部の接着剤を剥がす
 ボタン付近の画面に吸盤を張り付け引っ張る
 側面にできた隙間にヘラを差し込む
 ヘラを一周スライドさせて画面を剥がす
 画面の下のフレームもヘラで外す
 フレームが外れたら画面を開く
 (インカメラ側には画面と本体をつなぐ平型ケーブルがあるため注意)

吸盤で浮かしてこじ入れたヘラをぐるり一周
画面下のフレームも外す(こちらは複数のツメで固定されている)
画面を持ち上げる(カメラ側のフレキは外せない)

STEP2 銀色の内部プレートを外す


 アンテナ基板を固定する3本のビスを外し、基板の接着面を剥がす
 簡単に終わらせるならばここでアンテナ基板のケーブルを切断すればよい
 (その後画面とフレームを戻して終了)
 (丁寧にやるならば)銀色のプレートのビスをすべて外す
 プレートを取り外す

銀色のプレートを外した後/第6世代と全く同じに見える

STEP3 ロジックボードをずらしてアンテナを外す


 ロジックボードを固定する3本のビスを外す
 ロジックボードを少し持ち上げてアンテナ基板のケーブルを外す
 (スナップタイプの端子で接続されている)
 組み立て直して終了 

左上にあるオレンジ色の基板がアンテナ基板

アンテナ基板の接続端子はロジックボードの裏側

患部摘出

閉じたら終了/余ったネジはご愛敬

iPod Touch(第7世代)をBOTに使った結果

全く問題なく稼働している
 ポケモンGOクライアント→正常動作
 有線LANアダプタ→第6世代で使用したものがそのまま使える
 Goプラス→正常動作
数時間放置してぐるぐる歩き回らせてもクライアントは落ちない


2018年12月30日日曜日

リレータッチボードを使ったスマホ連打装置の作成

以下、スイッチサイエンス製リレータッチボートを用いてスマホの連打装置を作ったメモ

必要なもの

・リレータッチボード(ドライバ付き)
 スイッチサイエンス製リレータッチボード
 ドライバ付きを用いる理由は後述
  スイッチサイエンスの販売ページ
  amazonの販売ページ
ドライバ無し版も併売されているので注意

・自己点滅型LED
 点滅回路が内蔵されたLED
 これでリレータッチボードをドライブして画面を連打するのが今回のキモ
 
 マイコンや発振回路が不要となり回路がとてもシンプルに
 リレータッチボードをドライバ付きにしたのもこのため
 (LED点灯程度の低電流でドライブ可能なため)
 
 必要に応じて抵抗を使用すること

 今回は定格3.3V(min3.0~max5.0V)、点滅周期1.5Hzの緑色LEDを使用
 (変圧せずリレータッチボードと同じ5.0Vで動かすことを狙った)
  秋月の販売ページ
連打周期はLED依存になる

・5.0V電源
 今回はボタン電池ホルダ(3.0V)を2枚直列して使用
 今回は手抜きで変圧せず


・オーディオケーブル(ミニプラグ)
 スマホのイヤホン端子からGNDを取るのに使用
 連打装置とスマホのGNDが一致しないとまともに反応しないため

作成方法

 リレータッチボードの5V端子とGND端子に電源を結線
 LEDの+側に5V、-側にEN端子を接続(必要ならば抵抗を挟む)
 オーディオケーブルを切断しGND信号線を引き出す
 GND信号線を電源のGNDに結線

使用方法

 連打したいスマホのイヤホン端子に装置のケーブル(ミニプラグ側)を接続
 連打する位置に装置を固定する

作例

 電源スイッチを追加
 LED用の抵抗は裏面
 LEDが交換可能なようにソケットで実装
 プロトタイプなのでGND接続にはワニ口クリップを用いている

 動画はポケモンGOのジムバトルに使った例
 1.5Hzは連打速度不足かとも思ったが十分な様子
GND用ケーブルが接続されていない状態

TIPS

・GNDをしっかりとる
 スマホからGNDをとらないと不安定でほとんど使い物にならない
 オーディオケーブルを用いない場合は別途GND接続方法を考えること
 (外装の金属部分にプローブを貼る、充電端子のGNDを引っ張るなど)

・リレータッチボードの固定方法
 パッドに直接両面テープを貼っても使用可能だが、感度はかなり落ちる

・スペシャルわざ解放の弊害(ポケモンGOの話)
 スペシャルわざを解放してわざが2つになるとボタンも2つになる
 ボタン配置が大きく変わるので定位置での連打ではケアできなくなる


2018年11月15日木曜日

Pokemon Go Plus海賊版の現状(2018/11)

正規品は事実上のディスコン:

年初あたりから正規販路では欠品して再入荷せず
(※正規販路/ポケモンセンター、ソフトバンク、その他量販店)
取り寄せや予約もムリ
事実上の生産終了であり、新型(モンスターボールPlus)待ち状態

いつの間にか入手不能になっていた
待望の新型・待望の正規品
なぜか公式からのアナウンスは一切無し
現在ネット上で売られているのはほぼ海賊版である(後述)

Pokemon Go Plus海賊版:

AliExpressあたりで山ほど売っている
Amazonマケプレや楽天市場、ヤフオクで売られているのもこれ
正規販路で購入不能なのに常時在庫があるのが海賊版の証左

大量在庫/もちろん全部ニセモノ

海賊版の種類:

・完コピ品

 パッケージから何から全部コピーしてあるもの
 内部の再現度は不明だがゲームで使用できる(らしい)

 コピーの精度が低ければ本物との判別は可能
 (モールドが甘い、印刷が薄い、細部が違うなど)
 裏を返せば精度の高いものは判別不能ということ

・あきらかな差分があるコピー品

 裏面のロゴを削ったり、パッケージを再現していないもの
 本体ロゴさえなければセーフ!という市場がどこかにあるのだろうか?
 買い手にとっては本物との区別がつくだけマシと言える

裏面のロゴが無い

・勝手バリエーションモデル

 外装(シェル)を勝手にカスタムしたもの
 外装をチーム色に変更、ロゴ入り、イラスト入り、メタリックボディ etc…
 これも本物との区別がつくだけマシか

USA!USA!

カラバリ+ワンポイント


・互換機(ポケットエッグ、オートキャッチ)

 これは本物のコピーではなく互換機
 外観やインタフェースがまったく異なる
 本物の仕様を守る必要が無いため、オート捕獲などの機能が追加されている

息の長い互換機/本物と併売されていた時期もありました

ゲーム側の海賊版対策について:

現状野放し状態
クライアントが本物と海賊版との判別がついていない以上対策不能であろう
GoPlus自体をファームアップする方法も無いのでお手上げ

正規品の入手方法:

再生産されない限りほぼ入手不可
正規販路のデッドストックを見つけるしかない
100%判別する方法が存在しない以上正規販路以外はコピー品と見るべき

ここまで長期間再生産されず、ディスコン宣言も無い理由はまったく不明
レッツゴーとのスケジュール調整ミス? 
レッツゴーの販売が一巡したら普通に再販される可能性もある?

2018年7月28日土曜日

iPodTouchの有線LAN接続が位置偽装にドンピシャだった話

外部機器を用いた位置偽装に有線LAN接続を導入した
結果は非常に良好
前回のiPodTouchのアンテナ除去と併用することで偽装の精度が飛躍的に向上した

IP網への無線接続は位置偽装のノイズ源

位置偽装を行う際にはクライアント上で位置情報使用アプリが動くことが大前提
よってクライアントはIP網に接続する必要がある

この接続に用いるアクセスポイントも当然ながら位置情報取得に利用される
アクセスポイントは位置情報データベース上で本来の住所と結びついているため
位置偽装に対する非常に大きなノイズ源となってしまう

今回は無線→有線接続に変更することでノイズ源の除去を試みた

iPodTouchの有線LAN接続方法

LightningUSBカメラアダプタ+セルフパワーUSBハブ+USB LANアダプタを使用
USBハブを噛ましたのは電力不足エラーが発生したため

USB LANアダプタの認識に成功すると『設定』のWi-Fi項の下にEthernet項が出現する
LANアダプタをルータに有線接続する
これ以外に設定は不要
WifiをOFF設定にしないこと(位置偽装にはWifiを用いるため)
Amazonで適当に選んだ互換機/純正じゃないが使用できた
Amazonで適当に選んだLANアダプタ/消費電力が低いヤツならハブ要らないかも

有線LAN接続を用いた位置偽装時の挙動

以下の条件で検証を実施
 クライアント→Wifiアンテナを除去したiPodTouch
 アプリ→ポケモンGO
 接続方法→有線LANでルータに直結
 位置偽装用アクセスポイント→ポケモンGO Botの従来環境を流用

テスト1:
 周囲に無線アクセスポイントが無い状態でアプリ起動
 →『GPSの信号を探しています(11)』表示
  マップ上にオブジェクトが全くない大草原
 
  有線接続経由で位置情報を取得できていないことが確認できる
この状態の実現をずっと待っていた

テスト2:
 偽装アクセスポイントを用いた位置偽装の実施
 →位置偽装成功
  
テスト3:
 無効なデータを用いた位置偽装の実施
 どの住所にも結び付いていないMACアドレスを偽装アクセスポイントにセットする
 →『GPSの信号を探しています(11)』表示
  マップ上にオブジェクトが全くない大草原

  従来は本来の住所で認識されてしまうパターン
  偽装先→本来の住所というテレポートが発生するため非常に危険だった

2018年7月25日水曜日

位置偽装用にiPodTouchのアンテナを外した話

外部機器を用いた位置偽装における最大のノイズは周囲にあるアクセスポイントであった
偽装したアクセスポイント以外は検知できないのが理想

これまでクライアントのwifi感度を下げるためにいろいろ試したが決定打は無かった
今回は感度を極限まで下げる目的でiPodTouchのWifiアンテナを外した

注意:アンテナを弄るので電波法に抵触する
   アンテナを外した後のiPodTouchは電波暗室で使うこと(建前)

iPodTouchのWifiアンテナの位置

アンテナは本体上部正面向かって左上にある
(裏面から見ると電波抜き用の黒い窓がありわかりやすい)
Wifiアンテナを取り外すには本体を分解する必要がある
黒窓の裏側にアンテナがある

iPodTouchの分解とWifiアンテナの除去

アンテナのコネクタはアセンブリの奥深くにありかなりバラす必要がある

『iPodTouch バッテリー交換 自力』などでググると分解方法はわかる
分解には特殊工具が必要

正面の液晶を開け、ネジ止めされた銀色のバックプレートを取り外す
ロジックボードを固定している3つのネジを外す
(ここまではバッテリー交換方法と共通)

Wifiアンテナを固定する3つのネジを外す
Wifiアンテナは接着されているので基部のスポンジごと剥がす
アンテナにはんだづけされている銅線をたどってロジックボード側のコネクタを確認
ロジックボードをずらしてコネクタを外す

アンテナが除去できたら逆の手順でアンテナ以外の組み立てを行う
正面の液晶を開けたところ/左上のオレンジのフィルムがwifiアンテナ
外したアンテナ/コネクタは非常に小さいスナップタイプ(真上に引き抜くと外れる)

アンテナを外した効果

wifiの感度が極端に下がった
アクセスポイントから20cm以内ならギリギリ電波がつかめる…といった具合
位置偽装にはかなり理想的な環境であり、飛躍的に成功率が上がった
位置情報データベースに対する間違った学習の回避も期待できる
夢にまで見た電波の空白地帯/ここから至近距離で偽装APの電波を拾わせる
弊害としてBlueToothの感度も下がってしまった
これは想定外であった(よく考えればアンテナ共有なのは当たり前)
ポケモンGoで位置偽装をBotライクに使う場合はGoPlus使用前提となるため困ってしまう
ひとまずはGoPlusを至近距離に置くことで対応しているが切断が頻発する

2018年6月6日水曜日

サーボモータハンチング対策

ポケモンGoBotシステムの問題点の一つはサーボモータへの負荷が大きすぎる点であった
以下はサーボに起きる問題とこの負荷を軽減する施策

スマホの揺らし台

サーボモータのハンチング

ハンチングとはサーボの停止角が定まらずに±1度の振動が発生する現象
経験則的にまとまった時間使い続けると発生する
Botシステムでは動作上は問題ないのだが、非常にうるさいし部品の摩耗も怖い

サーボモータの発熱

これはモータよりもシェル内の制御用ICの発熱
数時間単位の連続使用を行うとシェルよ溶けよ!と言わんばかりの高熱が発生
SG90ではこれでよくサーボが破損した

問題点の対策

長時間停止角を維持するようなシーケンスをやめればよい
ポケモンGoBotの例ではスイングする数秒のみアタッチして動作を行う
次にスイングするまでの数十秒間はデタッチしてフリーにしてしまう
この間は当然回転角維持のトルクは働かないのだが、それを許容する機構にすればいい

これでハンチングも発熱も解決
サーボモータを数時間連速動作させること自体がそもそも筋悪であった

追記:その他のハンチングについて

その後調べたハンチング関連の情報を追記する

・稼働後しばらくしてからハンチングが起きる理由
 →ギアの摩耗などが原因
  新品が一番精度がよく、摩耗により検知/制御精度が落ちる
  アタリが出て負荷が下がるのもハンチングの原因になり得る(後述)

・チューニングによる対策
 →ハンチングが起きるメカニズムは『オーバーラン』である

   目標角度まで回転→行き過ぎる→戻し方向に回転→行き過ぎる…

  制御パラメータのチューニングでオーバーラン対策となる(ゲイン調整)
  一番簡単な方法は回転速度を下げてしまうこと
  (簡易的な機構のサーボやその制御の場合は調整できない)

・回転軸への対策
 →オーバーラン対策として回転軸に摩擦や軽い負荷をかける対策
  ブレーキをかけてから実際に軸が停止するまでの制動距離(角)を短くする
  常に余計な力がかかるということなのでロスは増える
 

2018年6月4日月曜日

Bot使用時におけるGOPlusの再接続自動化

ポケモンGoBotにおける最大の問題点はGoPlusが一時間で自動切断されることだった
一時間おきに手動で再接続する必要があり、Botとしてのパフォーマンスが大幅に低下する

ここではiOSのスイッチコントロール機能を用いて再接続の自動化を実現する

GoPlusの再接続の自動化

再接続の自動化には以下の3つの制御が必要になる
 1.GoPlusの切断を検知すること
 2.GoPlusのボタンを押すこと
 3.クライアント画面上のGoPlusボタンを押すこと

GoPlusの切断を検知する

GoPlusの振動モータ信号をマイコン等で監視することで切断を検知できる
(GoPlusが接続された状態でBOTが動作していた場合、定期的に振動するため)
モータ停止中はほぼ0V
モータ振動中は3V程度の電圧が印加される
100msec程度の周期でモータ信号をチェックし、一定時間の連続停止を切断と判定する

LED信号の監視の方が好ましいが、配線の引き出し難易度が高すぎて断念した

GoPlusのボタンを押す

リレーなどでボタンを押せばよい
配線の引き出しは自動化改造時を参照
ボタンの配線をGNDに落とせばボタンを押した状態と等価になる

プロトタイプ/ArduinoのXBeeシールドを流用

クライアント画面上のGoPlusボタンを押す

iOSのスイッチコントロールを使用する
外部スイッチとしてRN42をHIDキーボードモードで使用する
マイコンとRN42をシリアル接続し、マイコン側から打鍵情報をRN42に転送する

参考メモ1
参考メモ2

スイッチコントロールのレシピには以下2つの連続操作を登録
 ・速度警告ウィンドウのボタン位置をタップ
 ・GoPlusアイコンボタン位置をタップ

速度警告ウィンドウへの対策を入れる所がポイント
一度表示されると『私は運転者ではありません』ボタンを押すまで閉じないため
この状態でGoPlusアイコンボタン位置をタップしても無効

GoPlusアイコンに被るのでウィンドウを消す必要がある

結果と問題点

GoPlusを用いたBotの一時間の壁を突破することに成功した
問題は誤タップによる画面遷移に対応できないこと
速度警告ウィンドウへのタップでジムなどを誤タップしてしまう場合がある
この場合はジム画面から抜け出せなくなる


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月5日土曜日

ポケモンGoBOT(位置偽装装置)その後

以前に作成したポケモンGoBOTだが未だに稼働中(20か月目)である
以下は現時点の構成、稼働状況についてのメモ

位置偽装ユニット

6基のESP-WROOM-02からなるユニット
以前は制御ユニットとしてArduino pro mini(3.3V)を用いていたがオミット
現在はPCとのシリアル通信用にRN-41-SMに換装している
これはPCのシリアルターミナルから偽装情報を投げるのが一番便利だったため

ガワはセリアのペンケース
ESPのRXをRN-41-SMのTXと結線/配線はチップの裏側

RN-41-SMはRS-232C関連の機能を使わなければ3.3VでOK
電源投入後はPCからBlueToothデバイスとして認識される
接続後はシリアルポートが増えるので、そのポートに対してシリアル通信するだけ
(通信速度やプロトコルは事前に適宜変更しておくこと)

ESP-WROOM-02は非常に堅牢でかなりの稼働時間にも関わらず故障率0
えらいぜ

GoPlus連打ユニット

以前はサーボモータでGoPlusを連打していたが全自動方式に変更
(GoPlusのLEDとタクトスイッチの配線を直結)
電源はUSB端子経由の5.0Vをレギュレータで3.0V降下して使用
ボタンは頻繁に押すため配線を引っ張り出してケースに外付け

昇降ユニットと同じケースにまとめてある
ボタンをケース外に引っ張り出すと非常に便利

iPod昇降ユニット

スマホの置台をサーボモータで揺らすユニット
以前はSG-90で上下に揺らしていたがこれは筋悪であった
負荷が重く、誤作動原因の故障も含めて20ヵ月で5個焼損
サーボをより大型のMG995に変更し、揺らす方向も左右に変更

ユニバーサルプレートで平置き台を作成
置台の裏側にサーボをポン付け/サーボは十分な重さの台に固定
iPodTouchを置いたところ/これがサーボで30°程度定期的にスイングする

MG995および制御用AVRは5.0V駆動可能なのでGoPlusユニットと電源を共有
(ただし、500mAを越える可能性があるため充電器の使用が前提)

クライアント(iPod Touch)

一年を超えたあたりでバッテリーが妊娠してホタテ貝オープン状態
バッテリーを交換した
稼働20ヵ月で一番のコスト

位置偽装の知見

・一番のノイズ源は自宅の無線ルータ
 複数チャンネルの十分な電波強度があるAPで位置偽装における一番のノイズ源
 偽装APを何個立てても現在位置からピクリとも動かない場合はほぼこれが原因
 以下のような施策が必要になる
 ・MACアドレスの定期的な変更
 ・電波強度のダウン
 ・未使用チャンネルの無効化
 ・クライアントから距離をとる

・使えなくなるAPへの対策が無い
 偽装装置運用中に構築済の偽装データが使えなくなることが頻発する
 おそらくはデータベースが偽装データで更新されてしまうため
 (偽装先のAP情報と周囲にある実際のAP情報が結び付けられた)
 データベース更新のタイミングや規則性については全く分からない
 一度使えなくなったデータが復活する場合があるのは確認済

約20ヵ月分のスコア