2020年9月3日木曜日

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

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



位置偽装ユニット統合版

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




TIPS

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

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

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



2020年4月30日木曜日

M5Atomで『離席中』対策装置を作成

PCの無操作スクリーンロック、離席中ステータス表示などを回避する装置を作成する

概要

・M5AtomはPCからBluetoothマウスとして認識される

・以下の内部状態を持つ
 ・ペアリングモード
 ・待機モード
 ・自動動作モード

・ペアリングモード
 PCとのペアリングを待つ
 成功時は待機モードに遷移

・待機モード
 ユーザーのM5Atomボタン押し操作を待つ
 ボタンが押されたら自動動作モードに遷移

・自動動作モード
 マウスカーソルを常時動かし続ける
 ユーザーのM5Atomボタン押し操作を待つ
 ボタンが押されたら待機モードに遷移

作成方法

ソースコード(後述)をビルドしてM5Atomに書き込み

使用方法

初回のみペアリング操作が必要

ペアリング: 
 M5Atomを通電させてLEDが白色(ペアリングモード)になることを確認
 PCの設定からBluetooth機器の追加(ESP32 Bluetooth Mouse)を行う
 LEDが赤色(待機モード)になることを確認
 初回以降は通電後自動的にPCと接続される

動作の切り替え:
 LED赤色表示(待機モード)でM5Atomのボタンを押す
 LEDが緑色(自動動作モード)になることを確認
 マウスカーソルが自動的に動く
 再度ボタンを押すとLEDが赤色表示(待機モード)になりマウスカーソルは止まる

ソースコード解説

ESP32 Bluetooth Mouseライブラリ+M5AtomのButtonサンプルコード
loop()でマウスカーソルを動かす箇所は見栄えを良くしているだけでもっと簡単でよい

ソースコード


#include "M5Atom.h"
#include <BleMouse.h>

#define MAX_X 320
#define MAX_Y 240

int point_x = 0;
int point_y = 0;

int dir_x = 1;
int dir_y = 1;

int moveFlag = 0;

BleMouse bleMouse;

uint8_t DisBuff[2 + 5 * 5 * 3];

void setBuff(uint8_t Rdata, uint8_t Gdata, uint8_t Bdata)
{
    DisBuff[0] = 0x05;
    DisBuff[1] = 0x05;
    for (int i = 0; i < 25; i++)
    {
        DisBuff[2 + i * 3 + 0] = Rdata;
        DisBuff[2 + i * 3 + 1] = Gdata;
        DisBuff[2 + i * 3 + 2] = Bdata;
    }
}

void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleMouse.begin();
  M5.begin(true, false, true);

  setBuff(0x10, 0x10, 0x10);
  M5.dis.displaybuff(DisBuff);
  while(1)
  {
    if(bleMouse.isConnected()) {
      Serial.println("Connect");
      setBuff(0x10, 0x00, 0x00);
      M5.dis.displaybuff(DisBuff);      
      break;      
    }
    delay(100);
    Serial.print(".");
  }  
}

void loop() {

    if (M5.Btn.wasPressed())
    {
      if(moveFlag == 0)
      {
        moveFlag = 1;
        setBuff(0x00, 0x10, 0x00);
      }
      else
      {
        moveFlag = 0;
        setBuff(0x10, 0x00, 0x00);
      }
      M5.dis.displaybuff(DisBuff);      
    }
    if(moveFlag == 1)
    {
      bleMouse.move(dir_x, dir_y);
      point_x += dir_x;
      if(point_x <= 0)
      {
        point_x = 0;
        dir_x = 1;
      }
      else if(MAX_X <= point_x)
      {
        point_x = MAX_X;
        dir_x = -1;
      }
      
      point_y += dir_y;
      if(point_y <= 0)
      {
        point_y = 0;
        dir_y = 1;
      }
      else if(MAX_Y <= point_y)
      {
        point_y = MAX_Y;
        dir_y = -1;
      }
    }
    delay(5);
    M5.update();  
  
}

2020年3月14日土曜日

Fake Wifi-GeoLocation for M5StickC概要

前回、M5Atomを6台使ったWifi位置偽装装置を作成したのだが
twitterで『これはESP32単体で実現できる』旨の指摘を受けた
以下は教わった情報をもとにM5StickC1台だけでWifi位置偽装装置を作成したメモ

Wifi位置偽装装置への指摘

M5Atom6台の作例ではそれぞれをアクセスポイント(AP)として動作させていた
しかしMACアドレス詐称目的ならばフル機能のAPは必要ない
詐称したMACアドレスを含むBeaconフレーム送信機能だけでよい

ミニマムなBeacon送信を実装できればM5Atomを複数使う必要もない
6台分のBeaconフレームを1台でサイクル送信し続ければよい

『MACアドレスを詐称した複数のAPを立てる』がアイデアの根幹であったため上記の指摘は目から鱗であった

作成

教わったGithubのサンプルコード
https://github.com/Jeija/esp32-80211-tx
ESP-IDF用のプロジェクトだがArduino IDE環境でもほぼそのまま流用できる
(構造体初期化などコンパイラに蹴られる部分あり)

サンプルでは8つのSSIDを切り替えてBeaconフレームをサイクル送信している
これを任意MACアドレスを切り替える方式に修正して前回のソースとマージした

動作チェック

複数台APを立てる現行方式と全く遜色ない
むしろMACアドレス変更→リブートに数秒かかっていた現行方式よりも良い

コスト・機能ともに改善されてうれしい反面、急にブレイクスルーが来てしまい戸惑う
詳しい人の知見とアドバイスは最高

グッバイ旧プロジェクト

2020年3月13日金曜日

m5Atomの給電方法を調べたメモ

m5Stack公式のツイートを発見
これを信じるならば背面5Vへの電源供給は正常な用法といえる

wifi位置偽装方法のざっくり解説

スマホのWifiを使った位置測定の基礎知識:


測定シーケンスは以下の通り
・周囲にあるwifiアクセスポイント(複数)の名前を調べる
 →wifiアクセスポイント:個人宅の無線LANルータや店舗のホットスポットなど
・アクセスポイントの名前を使って位置情報データベースを検索する
・データベースから位置座標を取得する

メリットはGPSより測定が高速なこと
デメリットはデータベースへのアクセスが必要なこと、精度が悪いこと
このためGPSと併用して使われることが多い

Wifi位置測定を騙す偽装方法:

偽装方法は以下のとおり
・偽装先の周囲にあるwifiアクセスポイントの名前を調べる
・名前が可変のアクセスポイントを複数準備する
・偽装先で調べたアクセスポイントの名前を準備したアクセスポイントに設定する

メリットは特殊な機材や高度なプログラミングが不要であること
デメリットは現地調査が必要なこと、精度が悪いこと、ノイズが多いこと、GPSと併用されると成立しないこと

テクニカルな補記:


・上記における『アクセスポイント名』とはBSSID(≒MACアドレス)のこと、SSIDではない
・位置情報データベースは複数存在する(google、Apple、MS…)
・データベースによってはSSID、電波強度等も副次的なパラメータとして使用する
・データベースは逐次更新される
・偽装用アクセスポイント以外の電波を遮断(減衰)する工夫がないと使い物にならない
 (もともと周囲にあるアクセスポイントが位置情報データベース検索に使われてしまう)
・ウォードライビングサイトなどで現地調査を省くことができる(場合がある)
・偽装用アクセスポイントはIP網に接続する必要は無い
・偽装用アクセスポイントの電波強度は極弱にすること
 (第三者の位置測定における酷いノイズになる)

※この方法は実用性がないので『アプローチは面白い』以上のものにはならない
  (ソフトウェアで偽装する方が簡単で精度も高い)

Fake Wifi-GeoLocation for M5Atom x6概要

M5Stack ATOM LITE(以下M5Atom)を使ったWifi位置偽装装置を作った


ざっくり概要:

・6台のM5Atom(APモード)とM5StickCを片方向シリアル接続
 M5SticKCから6台のM5Atomへ片方向通信が可能
 各M5AtomへMACアドレス変更命令を出す

・Wifi位置偽装の理屈
 MACアドレスを詐称した複数のWifiアクセスポイント(AP)を立てる
 Wifiによる位置測定では周囲のWifiAPのユニークIDとしてMACアドレスを使う
 特定位置にあるWifiAP群のMACアドレスを再現すれば位置偽装ができる
 当然ながら位置測定にGPSを併用する場合には無力
 (動画で使っている端末はiPodTouch/こけおどし的デモ)

配線の様子:L字のロングピンが無かったので手曲げで作った

テクニカルな話:

・背面電源供給時の発熱が凄い
 5V≒VCC端子という想定で回路を組んだが発熱が凄い
 単体へのUSB給電と明らかな差がある
 仕様を問い合わせた方がいいかもしれない

・ESP8266とMACアドレス変更関数が異なる
 ESP8266でのwifi_set_macaddr()にあたる関数はesp_wifi_set_mac()

・動画のUSB給電は定格電流を加味していないので注意
 試しに動作させたら動いただけ
 USB給電→背面5Vピンの定格電流は不明
 一応動作しているものの何の保証もない

2020年3月12日木曜日

Tic Tac Toe for M5Atom x9概要

M5Stack ATOM LITE(以下M5Atom)を使った〇×ゲーム(Tic Tac Toe)を作成した


ざっくり概要:

・9台のM5Atomを片方向シリアル接続しており、環状に通信可能
 上流から来た情報を下流に再送するイメージ
 この環状通信でボタンの押し下げとLED点灯命令をやりとりする

・9台のうち1台が親機で残りは子機
 〇×ゲームを処理するのは親機
 子機へのLED点灯命令発行、子機からのボタン押し下げイベント受理を行う
 子機は自分のボタン監視(イベント発行)とLED制御のみ

配線の様子:ジャンパ線の長さがまちまちなのは手製のため

テクニカルな話:

・M5Atomは背面5Vへの電源供給で動作
 実動作上は5V≒VCC端子
 回路図が公開されていないのでやや不安
 給電には5V2AのACアダプタ使用
 3/13追記:
  背面からの給電でアクセスポイントとして動作させた際の発熱が凄い
  USB給電の場合と比べてはっきりと発熱に差がある
  仕様がはっきりするまで給電に使うべきではないかも…

・1台にUSB給電するとほかの8台もドライブしてしまう
 定格電流やUSB給電の仕様が公開されてないので怖くて使っていない
 一台当たり50mA強はいけそうな気もするが…?
 今後の課題とする

・〇×ゲームにはミニマックス法を使ったため、プレーヤーは一生勝てない
 クソゲーである
 (※〇×ゲームは互いに最善手を打つ限り常に引き分けるゲーム)
 意図的に手加減する処理を入れないと病む

M5Atomは電源周りの情報がないのが不安

2020年2月21日金曜日

M5Stack ATOM LITEを購入

AliExpressで注文したATOM LITEが届いたのでそのメモ
なお技適の問題があるので使用にはご注意

ATOM LITEとは

M5StickCからLCDとバッテリーなどを外した小型のM5Stack
上位機種として5x5のLEDを搭載したATOM Matrixがある
USB-シリアル変換付きで筐体のあるミニマムなESP32といったところ

小型のM5Stack

外観

24x24x10mmとM5StickCの半分以下のサイズ
背面に2.54mmピッチのGPIOポート
他のポートはUSBType-CとGroveポート
※公式ページには4P PH2.0とあるが明らかにGroveポート
 PHコネクタ4ピンは干渉して挿さらないことを確認
 強引に挿すためには両方を切削する必要がある

パッケージ/本体以外の同梱物無し
現物の表と裏/技適表記は無い/Groveポートのノッチ付きコネクタが確認できる
筐体を開けた状態(裏側)/ピン表記シールの下にはM2ビス用穴あり
筐体を開けた状態(表側)/内部チップにも当然ながら技適表記無し

動作確認(電源供給だけ)

公式ページで回路図が未公開のため以下の2点を実機動作確認した
(※回路をチェックしたわけではないので注意)

1.背面GPIOポートの5Vから本体に給電できるか
 →できる
2.Groveポートの5Vから本体に給電できるか
 →できる

LITE複数使いの場合にTypeCケーブルを何本もぶら下げる必要はない模様

5VをGrove端子から入力→成功
5Vを背面5Vポートから入力→成功


2020年1月8日水曜日

banggoodで中国から電子工作パーツ購入のメモ

amazonにて中国発送の電子工作パーツをよく購入している
これはもう中国のECサイトから直接購入すればよいのではないか?と思い立ち実行した
以下はそのメモ

banggood

最初の候補はAliExpressだったが、コンビニ決済に対応していたためbanggoodに変更
やはり海外サイトでカード決済するのはためらいがある

banggoodはエレクトロニクス製品以外も扱う総合ECサイト
ドローンを始めとしたRCパーツが強いのが特徴
AliExpressあたりと比べると明らかな海賊版は排除されている傾向がある
(偽ポケモンGOプラスなど)
結論だけ言うとイマイチでした

買ったもの

 ・M5StickC(マウンタ付き) x1    1292円
 ・ESP8285ボード     x10    3140円

M5StickCは市価の3割引
ESP8285ボードはシンプルな構成で使いやすそうだったので購入

購入の手続き

 国内ECサイトと変わらず
 Emailアドレス、住所名前等を記入するとコンビニ決済用の番号が表示される
 コンビニにて決済して注文完了
 (念のため英語表記で住所を記入したが日本語でもいけるらしい)

 ポイントは発送方法の選択
 一番安い郵便(追跡不可能)から宅配便まで3~4程度の選択肢あり
 (商品や取扱いメーカーにより異なる)
 高いほど安全で早い
 今回は安い方から2番目を選択

タイムラインとトラブル発生

 8/15 オーダー提出
 8/16 支払完了
 8/23 クレームを入れる
 8/26 『発送』にステータス変更
 8/27 (オーダー時の到着予定日)
 9/10 到着

 注文時は『到着予定日』が8/27であった
 8/23に未だ発送がされないことについて問い合わせをする
 (問い合わせは英文にてフォーム入力)

 担当者の回答は
 『到着予定日前だから処理は正常、予定日を過ぎても発送されなければ対応する』
 とのこと
 文化が違う…
 問い合わせから数日後に発送→二週間後に着

 商品はすべて正常動作した
 ボードはなぜか11個入っていた

所感

 トラブルによる遅延は悪印象
 (担当者の返信だけは高速レスポンスだったが)
 中国からの輸送時間(2週間程度)は元々想定内であったが実際はその倍かかった
 決済にクレカ番号の入力が不要であったことはよかった

 安価かつすぐに必要の無いものならば買っても良いか?という感じ
 中国ECサイトから買って日Amazonで売るだけの商売が成立する理由が分かった
 (Amazonが挟まるだけでもリスクヘッジが大きい)
 





ESP8266を用いたwifi位置偽装装置の電流値測定

ESP8285を用いてモバイル電源で動作する位置偽装装置の開発を予定している

モバイル電源の使用にはESP系チップの高い消費電流がネックとなる
定格とは別に位置偽装装置システムにおける実消費電流を調査する

ESP8266の動作と消費電流

パワーオン時に200~300mAのピークがあると言われている
いったん起動してしまえばデータシートどおりの動作をする
起動時に電源の電流容量が不足すれば電圧降下によって起動できないケースがでてくる
自己復旧できないのでこれは問題

測定対象システムの概要

位置偽装ユニット
ESP8266を6基、RN-41-SMを1基使用
ESP8266はwifiサーバとして動作し、30秒おきに設定が変更されリスタート
RN-41は30秒おきに接続先からマクロを受け取る

実測定結果(起動時)

5回測定のピーク電流が1200mA弱
300mA×6を覚悟していたが実動作上はタイミングが重複するわけではない模様
(元からサーバをbeginするタイミングはズラしている/効いているかは不明)
測定モレするようなスパイク状のピークがあった場合は見逃してしまうので注意

電源端子のあたりで測定
測定例

測定結果(動作中)

動作を10分継続した場合のピーク電流は600mA弱
定常電流との振れ幅は100mA未満
こちらは想定よりも高め

考察

起動時のピーク電流さえやり過ごせば1Aもあれば良い
・ESP8266を二群に分けてディレイ電源供給
 →ピーク電流は900mA程度?
・ESP8266をリレー形式で1つずつディレイ電源供給
 →ピーク電流は700mA程度?
剛腕戦略をとるならば2Aのモバイル電源を用意すればいい

消費電力は定常電流に3.0Vをかければいいので定常ピークで考えても1800mW程度
モバイル運用しても問題ない程度の消費電力と言える

INA219ブレイクアウトボード+M5Stackで簡易電流測定

以下は簡易電流測定器を作成したメモ

動機は電流測定無しでESP8266系チップを弄るのに限界を感じたため

INA219ブレイクアウトボード

今回はAdafruit製のブレイクアウトボードを使用
測定した電流をI2C経由で読み取り可能
(同様の模造品が沢山あり、そちらでも問題無いハズ)

電流測定したい箇所にVin+とVin-を使って挟み込む(GND側がVin-)
電圧も測定したければ測定対象と更にGNDを接続する
困ったらAdafruit

M5Stack

ディスプレイがあり、microSDカードが読み書きできるため使用
(ただし今回はまだSDカード出力は実装していない)
GPIO21(SDA)、GPIO22(SDL)を用いればI2Cライブラリを使用可能
(SDA、SDLポートが別途あるが、内部で結線されている)

作成方法(配線)

M5Stackの上部端子(メス/2.54mmピッチ)に
・GND
・3V
・GPIO21(SDA)
・GPIO22(SDL)
が並んでいるのでこれをINA219に結線すればよい

INA219の各端子に2.54mmピッチのピンを立てる
都合の悪いことにSDAとSDLの位置が逆
今回は極細配線で強引にクロス接続した
(本当は中継基板を作ってそこでクロスさせた方が楽で賢い)

Vin+とVin-にアクセスしやすいように端子台とメス端子をハンダ付けして終了

INA219(4ピンオス)を上部端子(8ピンメス)に挿して運用すると事故原因になる
このためダミー4ピンオスを追加して8ピンオスとしている
(ダミーは結線せず、根本で切断)

結線:SDAとSDLのクロスが強引
結線:SDAとSDLをこね回した結果のコゲが痛ましい

作成方法(プログラミング)

INA219ブレイクアウトボードはArduino用ライブラリが存在
(Adafruit_INA219.h)
機種依存が無いためM5Stackでもそのまま流用できる
Adafruit社ページからDLしてArduinoライブラリにインポート
(あるいは『ライブラリ管理』から『INA219』で絞り込んで導入)

M5Stackの画面表示はサンプルスケッチ参照のこと

SDカードに吐き出す部分を作ればロガーになるがひとまず測定のみ実装
ピーク電流を比較・更新する以外はAPIの結果をそのまま表示しているだけ

測定回路のGNDをM5StackのGNDに接続する必要あり/写真の使い方では電圧測定値は無効
マルチメータで確認

2020年ToDo

wifi位置偽装装置携帯版の作成

ESP8285とM5Stack(あるいはM5StickC)を用いて作成
可能ならばモバイルバッテリーで動作させる

簡易電流ロガーの作成

M5StackとINA219ブレイクアウトボードを用いて作成
wifi位置偽装装置の最大電流値を測定するため

スマホ連射装置の作成

リレータッチボード(SWITCHSCIENCE製)と点滅LEDを用いて作成
電源はUSB
まともなケースとケーブルを用いて体裁を整えたもの

スマホ連射装置(ペンタイプ)の作成

リレーと点滅LEDを用いて作成
リレータッチボードを用いず、パッド部分を自作する
実用性を考えてペンタイプとする

簡易静電容量ロガーの作成

M5StackとMPR121ブレイクアウトボードを用いて作成
スマホ連射装置のパッド部分の作成に必要

2019年12月9日月曜日

Essential Phone(PH-1)の近接センサ―が故障した話

以前Essential Phone(以下PH-1)画面交換を行ったがそれに伴う不具合が発生
以下はそのメモ
俺のPH-1は満身創痍

不具合の内容

近接センサ―が常にON状態になってしまった
交換部品が悪かったか自分がしくじったのかは不明

通常使用では全く問題ないのだが、通話すると画面が真っ暗になってしまう
(スマホを耳に当てた状態と誤認するため)
画面操作が一切できないため、こちらから通話を切ることもできない
また、メーカーサポートのサービスダイヤルなどでの対話型ダイヤル操作もできない

対策1:設定変更/電源ボタンで通話を切断する

『設定→ユーザー補助→電源ボタンで通話を終了』をオンにする
これで通話の終了は解決

対策2:全センサを一時的にオフにする

設定で『近接センサ―をオフ』ができる機種もあるようだがPH-1ではムリ
そこで開発者向け設定で全センサ―を一時的にオフにすることで代替する

『設定→デバイス情報→ビルド暗号』を連打して開発者向けオプションをONに
『設定→システム→開発者向けオプション→クイック設定開発者用タイル』を選択
『センサーOFF』をONにする
画面上部の通知バーを下にスワイプしてクイック設定を開く
新しく『センサーOFF』アイコンができているのでこれをONにする

開発者向けオプション
クイック設定開発者用タイル
クイック設定
スマホ上のセンサーをまるごとOFFにしてしまうため、必要な時のみONにすること
これらの対策は他のAndroidスマホでも使えるハズ

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年9月22日日曜日

ドラゴンクエストウォークで位置偽装(android版考察)

iPodTouchにインストールできませんでした(終わり)
…では芸が無いのでAndroid端末を使ったwifiを使った位置偽装の実現性を確認した

結論から言えば可能
ドラゴンクエストウォークではwifiのみ測位によるプレイがOKの仕様であった
『位置情報』のモードを『バッテリー節約』にするとGPSへのアクセスを抑制できる
あとはwifiによる位置偽装を行えばアプリを騙すことができる

なぜwifiのみ測位を許すのかが謎だったが、調べてみると現行Androidではこの機能自体が無いらしい
(Android9.0以降では位置情報サービス使用時にGPSをオフできない)
仕様上のチェック漏れ、ないし旧バージョンの穴は無視する割り切った設計と思われる

検証環境では近距離の位置偽装には成功した
手元にiPodtouchのようにwifi感度を極端に落とすことができる端末が無いので検証以上は無理
現在は都合のいい端末を物色しているところ

そもそもガチャ課金のウェイトが大きいので、位置偽装されても痛くないのかもしれない

2019年9月17日火曜日

ドラゴンクエストウォークで位置偽装(セットアップ時点で失敗)

位置ゲーの大型タイトルとしてドラゴンクエストウォークが配信開始
wifiを使った位置偽装を試そう…としたもののiPodTouchではそもそもインストールできなかった
(GPS未搭載機種のため、AppStoreの時点で蹴られる)

順当なガードで順当に失敗

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年8月26日月曜日

Essential Phone (PH-1)画面割れを自力で修理した話

生まれて初めてスマホの画面を割った
以下はそれを自力修理したメモ

ダメージレベル

胸ポケットから落下
画面右下から左上方向に大きな亀裂が発生

ひびの入った画面
ひびを赤線で強調

修理に必要なもの


・交換用画面
 →Amazonで買えた
  出自は不明
・ドライヤー
・吸盤
・スクレイパー、へら
 →スマホの画面を外すためのお約束工具一式
・精密ドライバー(+:番手不明)
 →特殊ドライバー不要
・接着剤
 →ここが重要
  PH-1では本体ベゼルと画面が接着されている
  画面交換時に接着剤を再塗布する必要がある
  (交換用画面には細い両面テープが付属していたが塗布に比べて難易度が高く断念)
  
いつものお約束/接着面を温めてから吸盤で剥がす→隙間にへらをねじ込む
破損純正スクリーン(左)と交換用出自不明スクリーン(右)/画面の裏に黒い皮膜が無い

修理方法

『PH-1 screen repair』あたりで検索のこと
以下は注意点のみ

・スピーカーのメッシュフィルムの扱いが不明
 (もともと手元PH-1では剥がれていたため)
 交換時に剥がれて戻せない気がするが…?交換用画面にはフィルム付属せず
・接着剤が必須
 のりしろに当たる部分が非常に狭いため、細かいノズルが付いていないと塗布できない
 今回はB-7000を使用
・再接着前にベゼルを掃除すること
 画面を外してもベゼルに接着剤の樹脂カスが付着したまま
 割れた画面の破片なども残る
 これらを除去しておかないと再接着時に画面が浮く


2019年8月6日火曜日

気になる電子パーツのメモ(2019/08)

以下は最近気になった電子パーツのメモ

・REVIVE USB MICRO
 ビットトレードワン
REVIVE USBの新型
大幅に小型化&USBmicro端子に変更&安価に
コントローラー筐体により組み込みやすくなった
マイコン要らずでコントローラが作成可能(USBキーボード/マウス操作と等価)

・ESP-8285
 Espressif Systems
ESP8266の廉価小型化モデル
電源面でも優位でESP8266より電圧降下に強いとのこと
AliExpressあたりではアンテナ基板付きが2.0~1.5ドル程度
安い
画像は基板マウント版/コアは1円玉くらい

・M5StickC
  M5STACK
ここではVではなくCの方
ニューラルカメラ、音声認識がこのサイズこの価格で!とVは人気爆発中
入手が難しい状況に
なぜここでCか?というと値崩れの兆候があるため
AliExpressあたりでは付属品無し版が10ドル程度
Cは小型版M5Stackでありディスプレイサイズや拡張を求めなければ十分

処理性能は十分