2016年7月31日日曜日

完成:外部機器を用いたスマホの位置偽装

以下の方法で位置偽装を行った
前回引っかかった問題について解決したためここにまとめる

なお、ゲーム等では位置偽装はBAN対象であるため使用しないこと

精度がイマイチなのでゲームとかはroot取って偽装した方がマシだと思う


概要:
wifiアクセスポイント(以下AP)を用いた位置測定方法に対して任意位置の偽装を行う
偽装したい場所のAP環境を再現することで測位を誤認させる

GPSおよび基地局測位が有効だと矛盾が生じるため、かならずwifi『のみ』の測位であること
外部機器を用いたアプローチで実現するため、偽装用アプリの使用やroot化等は行わない


必要なもの:
・スマホ
偽装を行うスマホ本体
できるだけwifi受信感度が『弱い』ものが好ましい(後述)
GPSは非搭載でもよい
今回はAndroid機で実験しており、iOS機でどうなるかは不明

・偽装対象のアプリ
GPSオフかつSIM無しでも動作すること

・複数台のwifiAP
必ずMACアドレスが変更可能であること
数は多ければ多いほどよい
今回はESP-WROOM-02を用いた
ソースコードはサンプルにわずかに手を入れる程度なので割愛

・アルミテープ
厚みのあるアルミ箔に接着剤がついたもの
ホームセンターなどで購入可能
準備できなければ銅箔テープやアルミホイルでもよい

・wifi測定用のアプリと実行環境
周囲のwifi環境を調べるスマホ用アプリケーション(Wifi Analyzerなど)
APの電波強度とMACアドレスが調べられる機能があること
適当なスマホにインストールして測定可能な環境を構築しておくこと
PC用アプリとノートPCを使ってもよい


実現方法:
1.偽装したい場所の調査(フィールドワーク)
偽装したい場所に行き、アプリを用いて周囲のAP環境の測定を行う
各APについて以下の情報を取得する
・SSID(APの名前)
・MACアドレス(BSSID)
・電波強度
精度を上げるならば測定位置を中心に10m程度移動して複数回測定すること

2.APの精査
測定したAPを精査して環境再現に用いるAPを選ぶ
以下の条件で絞り込みを行うこと
・電波強度が強いものを選ぶこと
電波強度が強いほどその場所から近いAPといえる
・同じ機器からは一つのみ選択
連番のMACアドレスは同じ機器のマルチSSIDに対して振られたもの
・モバイルルータは弾くこと
モバイルルータには位置情報の結びつけが無いため避ける
SSID名から類推すること
・店舗のAPを選ぶこと
店舗のフリーAPはその場所との結びつきが強く、位置測位に用いるのに向いている

3.再現用APの準備
前項で精査したAP情報を用いてAPを立てる
この際、SSIDはコピーせずに適当な名前を付けること
(測位には用いられないため/実在するAPのSSIDを用いることは避ける
MACアドレスのみを用いて再現を行う
再現用APはインターネットに接続しなくてもよい
また、MACアドレス照会に返答する以外の機能は不要
立てるAPは多いほどよい
外部からAPにアクセスされないように極力電波強度を下げること

4.スマホへの加工
スマホのwifi受信感度を『下げる』加工をする
これは周囲のAPの電波をなるべく掴ませないようにするため
周囲のAPの情報から正しい測位をされてしまうことを防ぐ
再現用APは至近距離から電波を出せるので受信感度を下げても問題ない

スマホのwifiモジュール付近にアルミテープを包むように貼る
(wifiモジュールの配置はスマホの上部であることが多い)
実際に受信感度が下がることをwifi設定画面等で確認すること

5.効果のプレ確認
googleマップアプリを用いて位置情報が偽装されているかを確認する
マップアプリは偽装検知が緩い(もしくは無い)ため確認に向いている
ここでうまく偽装できてないようならば他のアプリでも無理
APの精査をやりなおすか再現用APを増やすこと

6.アプリの動作確認
目的のアプリで位置情報が偽装されているかを確認する
失敗する場合はAPの精査をやりなおすか再現用APを増やすこと


TIPS:
・自宅に無線AP名を『~_nomap』に変更すること
googleの測位データベースから除外するため

・偽装はできるだけ近場にすること
どれだけ受信感度を下げても周囲のAPを完全にシャットアウトはできない
このため偽装中に突然本来の位置を測位してしまう場合がある
遠隔地に偽装していた場合は長距離テレポートがサーバ側に検知されてしまう
一方、測位を数100mずらす程度ならば検知されても誤差として処理される希望が持てる

・アルミテープ最強伝説
最初はアルミホイルを使っていたがうまくいかなかった
アルミテープは隙間なく目張りできるので作業しやすく効果が高い



続続:スマホの位置情報偽装について調べたメモ


以下、前回から追加調査を行ったメモ
ニセAPを作る方法を掘り下げている

現在、部分的には成功しているが実用には至っていない

偽装方法の概要:
偽装したい場所のWifiアクセスポイント(以下AP)環境を再現する
Wifiを用いた位置測定APIを騙すことで位置情報の偽装を行う

偽装の手順:
1.偽装したい場所でWifi環境の測定を行う
スマホに市販のWifi測定アプリをインストールする(Wifi Analyzerなど)
偽装したい場所に行き、アプリを用いてWifi環境の測定を行う
各APについて以下の情報を取得する
 ・電波強度
 ・MACアドレス

2.偽APを立てる
前項で取得したAPから電波強度が強いものをピックアップする
同じ機器と思われるAPから複数ピックアップするのは避けること(MACアドレスが連番)
ピックアップしたAPのMACアドレスを付加した偽APを立てる
偽APの数は多ければ多いほど良い
このとき、外部から掴まれないように極力電波強度を下げる
また、適宜パスワードを設定すること
偽APはMACアドレスをチェックする以外では用いられないのでスタンドアロンで良い

以上で一応位置測定APIを騙すことができる
ただし、周囲のAPの数が多い場合はそれに負けてしまう
成功したように見えても次の測位では周囲のAP情報に基づき本来の位置に戻ってしまう

偽APにより他人の測位に影響を与える可能性があることを考えると筋が悪い方法といえる
掘り下げるかどうかは悩むところ
偽APをごっそり増やしてみる?

2016年7月30日土曜日

続:スマホの位置情報偽装について調べたメモ


以下、前回から追加調査を行った結果のメモ
スマホに対する位置偽装を前提とする

位置情報偽装方法のメリットデメリット:

1.開発者用の機能を利用する
いわゆる疑似ロケーションを使う方法
原則Androidのみ
位置情報の偽装に意味があるアプリケーションではほぼキックされる
疑似ロケーションを隠す方法もあるがrootを取る必要がある

2.位置情報取得APIをフック
これもroot前提
rootをとれば相当のことができるがリスクを考えれば避けたい

3.BluetoothタイプGPSのフリをする
前回の調査結果は古い情報であった
現行Androidでは外部GPSはサポートされていない
一部アプリケーションではSPP経由の情報を取得して使用可能
ただし疑似ロケーションをONにしなければならず、位置偽装としては1.と変わらない

iOSでは正式サポートされているものの、iOS間のプロトコルは非公開
単純にSPPで位置情報を投げつけてもiOSはその情報を拾わない

4.APのフリをする
これはいけそう、というか手元のテストでは偽装できた
ポイントは複数のニセAPを用いること
単一のニセAPではいくら出力が強くても周りの正常なAPに負ける
これは位置情報検出APIの仕様が複数APを必要とするためだと思われる

滑らかな移動の再現はかなり難しい
アプリ側がある程度のショートテレポートを許容していないと無理

周囲の正常なAPの情報も拾われているため、厳密な偽装検知を行うアプリにはバレるかも

ニセAPの出力が高すぎると周囲にも誤情報をバラまくため酷いことになる
また、ニセAPの情報でGoogle側のデータベースが更新されてしまう恐れがある

2016年7月27日水曜日

任天堂IRの答え合わせ

任天堂の四半期決算が発表された

第一四半期決算短信

決算発表でネガティブな告知がされるのでは?そしてそれはNXの延期では?と予想したがハズレ
実際のネガティブ告知はポケモンGOプラスの発売延期であった

ポケモンGOプラス発売延期の告知

パッとしない決算は織り込み済みであったがこれを受けて市場は悲観モード
ブームの初動+夏休み需要を外してしまうのは痛い
なによりも歩きスマホ対策の役割を果たせないのが辛い

公式より:正直欲しい

今日もスマホいじりながら自転車でポケストップ巡回する小学生を見てげんなり
フリックだけでアイテム取得できてしまうのがいけないのか?

ユーザーが事故った責任は全部メーカーがとるべき!なんて話は暴論だが
ダメな子でも守れるような対策を取らない限りはガンガン事故って新聞に載り続けるわけで…

ポケストップは通過だけでアイテム取得できた方が安全上はマシかも

秋月電子の彼岸花ラッシュ

秋月電子の彼岸花ラッシュが止まらない

 雑貨>植物>球根カテゴリ

写真古すぎじゃね?
粛々と新製品を投入する所に凄みを感じる

2016年7月25日月曜日

ポケモノミクスへの冷や水について考えたメモ

ポケモンGoに沸く任天堂から珍しいIRが出た


『なんかスゲー高騰しちゃってるけどこのブームは業績予想に織り込み済みだからね?』
というもの
これを受けて明らかにオーバーシュートしていたポケモンGo銘柄はそろってナイアガラ状態

普段株価対策に全く無関心な任天堂が市場を冷やすIRを出す意味はなぜか?
これはおそらく7/27の四半期決算で何かネガティブな話がでるのだと思われる
ブームによる異常な高騰からの直滑降を避けるための施策と考えれば説明がつく

じゃあなんの話なんだ?と考えてみると
現状でポケモンGoの好材料に打ち消されないような悪材料といえばNXの延期しかない
7/27付で来期への延期が発表されるのでは?と予想するがどうだろうか

なかなか引き継げない

ポケモンGOガチ勢は引っ越し必須だと思った話

ふらりと入ったネットカフェでポケモンGOを立ち上げたらこんな感じだった

家ポケストップさえあれば…
ポケモンは数分でポップし続け入れ食い状態
ボールの使用量をポケストップの供給量が上回るため常時ノンストップハンティング
自宅周辺の閑散とした状況しか知らない自分にとってはショッキングであった
店から動く気がしない
そして頑張って歩き回る気がしない

プレイしていて気付いた事:

・パワーレベリングは罠かもしれない件(ガチ勢除く)
トレーナーレベルが上がると出現するポケモンのCPも上がっていく
CPと捕獲難易度は比例するため、そこらのポッポですらガンガンボールから逃げるようになる

問題はCPが上がってもアメのドロップは増えないこと
しあわせタマゴを使うと低CPポケモンを狩って貯めるべきアメをスルーすることになる
また、出現率の低いレアポケモンの捕獲も難しくなり図鑑埋めの難易度が上がる

一方ガチ勢にとっては高CPポケモンは望むところだろうし
捕獲難易度の上昇は課金ボール購入と高位ボールの使用でカバーできる

・開幕ボール投げで誘発されるバグについて
ポケモンは出現時に一旦近付いてから遠ざかる動きをする
この最中もボールを投げることができるため、開幕即ボール投げはほぼ定石といえる
(対レアポケモン除く)
この操作を行う際にゲームが進まなくなるバグに遭遇した

暗闇の中一方的にこっちを殴ってくるポケモン
ポケモンは動き続けるのだが操作が一切効かなくなる
復旧方法は無いためソフトを再起動するしかない
端末はPriori3LTE

2016年7月24日日曜日

FREETEL Priori3 LTEでポケモンGOをプレイしたメモ

ポケモンGOをXperiaUltraZでプレイしていたのだが
頻繁にスマホを出し入れするためファブレットでのプレイはかなり厳しかった
代打としてPriori3 LTEを引っ張り出してきたのだがいくつか問題が起きた
以下はそのメモ
なおSIMはIIJmioのデータプラン(docomoMVNO)を用いた(UltraでもこのSIMを使用)

一応動くよ
・GPSの精度が悪い
Xperiaに比べて明らかに精度が悪い
状況が悪い時は路地を一本跨いでしまう
また、歩行時のレスポンスも悪い(ショートワープが頻発)

・バッテリーセーバーが動作しない
このスマホは画面を上下逆にできない(≒本体の上下を判別できない)
このため本体を逆さまにして切り替えるバッテリーセーバーが動かない
振動を有効にしておけばバッテリーセーバーライクに使うこともできるが
画面はついたままなのでバッテリーの消費をおさえることができない



・アプリがすぐ落ちる
ホーム画面から復旧する場合にアプリが死んでる(タイトル画面から開始する)ことが多い
メモリ容量?

ホカホカになるし重いしpriori3でのプレイは薦められない


ここから雑記:

配信前から使用時の危険性について盛んに報道されていたが
プレイしてみてやはり危険性があることについては否定できないと感じた
特にポケストップが密集しているような繁華街での歩きスマホが多い
ポケストップを渡り歩く際のストップ&ゴーが多すぎていちいちスマホをしまう人は少数

また、片手に持ったマップ画面を見ながら自転車に乗る小学生を一日で二組見て閉口
少しでも危険なら子供から取り上げるべき!みたいな人たちの気持ちがちょっとだけわかった

近所のマクドナルドは今回の提携に改装を重ねて大盛況
ただしルアー付きポケストップでキャンプしている人が多く、回転率は悪そう
また、店舗の周りでのフリーライダーも(当然ながら)多かった
そのうち立ち止まってプレイする人について近隣店舗と揉めると思う

ゲーム自体はごくシンプルで間口の広い感じ
ブームになる理由もうなづける
ポケモン図鑑が一巡したあたりのモチベーション変化が不安要素か

ポケストップ自動回転装置を作った時のメモ

ポケモンGo配信開始を待てずにポケストップ自動回転装置を作った

完成したものの配信開始後の動作確認では使い物にならなかった
理由は後述

装置の概要:
スイッチサイエンスのリレータッチボードを用いてスマホに対してフリック動作を行う
ポケストップ回転画面で用いることにより自動操作でアイテムを取得する
アイテムは5分程度で再取得可能になるため、自動操作で放置することで延々と取得できる

公式より:中央の円形写真をフリックすることでアイテムを取得

実装方法:
リレータッチボードを横に並べ、ON状態をスライドさせることで疑似フリック動作とする
リレーの操作はArduinoのGPIOポートを用いる

簡単な構造なので詳細とスケッチは省略
キモはリレーの配置とウェイト調整のみ


成果物:
以下は完成品
また実行時の挙動を動画でUPした

右下にリレータッチボードが3連配置されている
Arduinoは『あちゃんでいいの』(マイクロUSB版)を用いた


なぜ使い物にならなかったか?という話:
・異常操作検知に引っかかる場合がある
操作の精度が悪くフリックにならない場合がある
誤操作を繰り返すと追加のクールタイムが発生する様子
(もう少し時間を空けて操作する旨のメッセージが出る)
表示上は紫ポケストップを回そうとした場合と同じだが操作可能になるまでの時間が長い
解決するにはもっとフリック操作再現の精度を上げる必要がある

・自宅から回せるポケストップが無かった
そもそもポケストップが自宅から回せる前提での開発であった
(テナントや隣接店舗のどこかがポケストップになるであろう、という予想をしていた)
実際は自宅から回せるポケストップは0
自宅以外でスマホと自動操作装置を放置しておくのはなかなか厳しい

・動作音が意外とデカい
リレーのカチカチ音が意外とデカい(動画参照)
外で使うのは躊躇われるレベル
ネットカフェとかで使ったら即壁ドンされそう

・ポケストップのアイテムの重要度がさほど高くない(今のところ)
リスクを冒して取得するほど重要度が高くない
ここでのリスク=BANなのでメリットに見合わない

インチキせずに普通にプレーしなさい、ということか





 

2016年7月21日木曜日

続:録音再生モジュールISD1820で遊ぶ

前回に引き続き再生録音モジュールISD1820で遊んだときのメモ

ISD1820 音声録音モジュール レコーダー 付き マイク サウンドオーディオスピーカー 拡声器
だんだん気に入ってきた
モジュールの問題点:

 モジュールで遊んでいるとやや使い辛いところがわかってくる

 1.RECボタンが邪魔
  一度録音した音を何度も再生する、という使い方をする場合にとても邪魔
  間違って一瞬でも押してしまうと録音した内容が消去されてしまう

 2.マイクの取り回しが悪い
  音源直結で録音するにはマイクの存在が邪魔
  前回のようにわざわざICピンを起こすのは無駄だし
  基板上に組んであるゲイン調整機能等も使えない

 3.スピーカーの取り回しが悪い
  スピーカーの接続端子がXHコネクタ(2ピン)
  入手性が悪くて個人的に嫌い
  (そしていつも名前を忘れて延々とググる羽目になる)
  コネクタピンが微妙に細いのでジャンパ線(メス)も挿せない


モジュールをちょっとだけ改造:

問題点を解決するためにちょっとだけ弄った
 
 ・RECボタンを除去
 ・コンデンサマイクを除去
 ・基板のマイク跡に2.54mmピッチのピンソケットをはんだづけ
 ・マイクの足に2.54mmピッチのピンヘッダをはんだづけ
 ・スピーカー用XHコネクタを除去
 ・基板のXHコネクタ跡に2.54mmピッチのピンソケットをはんだづけ
 ・スピーカーに2.54mmピッチのピンヘッダをはんだづけ

  ※ピンソケット、ピンヘッダについては以前のメモを参照のこと

 これで問題点は解決
 もう音源と接続して録音するときにICの足を起こす必要もない
 録音が必要な場合はIF端子のRECを用いる

音源を直結する場合はマイクのピンソケットを用いればよい
マイク、スピーカーの接続例
ICを単独動作させる:

 モジュールにはコンデンサや抵抗がごたごたマウントされているが
 この殆どはマイク側に用いられている
 録音済のICを再生させるだけならば必要なのは抵抗(100kΩ)一つだけ

 配線は写真を参照
 ・VCCとVSS(GND)2つを電源に接続
 ・スピーカーを接続
 ・使いたいPLAYボタンにタクトスイッチを接続(もう一方はVCCに)
 ・ROSC端子に100kΩの抵抗を接続(もう一方はGNDに)
  ※この抵抗値でサンプリングレートと録音時間が設定される
   録音時と抵抗値を変えると正常に再生できないため注意

単体動作例/PLAYEを用いている
別アングル
これでモジュールじゃなくてIC単品を買えばいいね!
と思ったのだがモジュールより安い単価でICを売っている所が見つからない
残念
まあモジュールの時点で十分安いからいいのだが


2016年7月18日月曜日

録音再生モジュールISD1820で遊ぶ

以下はAmazonで買った再生録音モジュールISD1820で遊んだメモ

ISD1820 音声録音モジュール レコーダー 付き マイク サウンドオーディオスピーカー 拡声器

リンク先は中国ショップなので納期が長いことに注意
モジュールの概要:

 ・RECボタンを押し続ける間、マイクから拾った音を内部に録音する(最大10秒)
 ・PLAYE(PLAY Edge)ボタンを押すと、録音した音をスピーカーに出力
 ・PLAYL(PLAY LOW)ボタンを押し続ける間、録音した音をスピーカーに出力
 ・録音した音は電源を切っても保持される
 ・新しく録音すると前回録音した音は上書き消去される
 ・ボタンへの信号線はIF端子で引き出されている
 
 単体で使ってもよいし、マイコンに1フレーズの音を流す機能を簡単にアドオンできる

TIPS:

 ・音声録音用IC[ISD1820PY]に必要な部品をマウントしたもの
  部品が不要ならばICだけ引っぺがして使えばよい
 ・白いケーブルはスピーカー用/はんだ付けして使用すること
 ・電源はVCC端子に3.0V~5.0Vを入力
 ・出力が小さいのでかなり大きな音で録音する必要がある
 ・マウントされた抵抗を変更すればサンプリングレート/録音時間を変更できる

音源を直結して録音する:

 再生機能だけを使いたい場合はできるだけクリアな音で録音したいところ
 以下はミニプラグで音源と接続して録音する方法のメモ

 1.ICの足を起こす
  ICをソケットから抜き取って4ピン(MIC)、5ピン(MICREF)を平行に起こす
  折らないように気を付けること
  起こした後はソケットに再挿入する

  これで基板上のコンデンサマイクと切り離すことができる

 2.ICのマイク端子をミニプラグに変換
  ミニプラグのL、Rを4ピン(MIC)に、GNDを5ピン(MICREF)に接続する
  (直結するのはどうかと思うが安価なので目をつぶることにする)

  接続例ではプラグジャックを利用した
  100均のオーディオケーブル等を使ってケーブルに直接配線してもよい

 3.録音
  録音モジュールに電源を入れて音源とミニプラグ経由で接続する
  RECボタンを押して(押し続けて)録音を開始
  音源から録音したい音を再生する
   ※再生時にはボリュームを最大にすること
  再生が終了したらRECボタンを離して録音終了
  録音後はICの足から配線を外してもよい

白いオーディオケーブルの先にはウォークマン等の音源を接続

DIP化されたミニプラグジャックを使用した

ICクリップを用いてICの足から信号を取った

外部機器と組み合わせる:


 IF端子に対して信号入力を行うことで各ボタンの押下げと同等の制御をおこなうことができる

  P-L:GND接続(=L)している間、録音した音をスピーカーに出力
  P-E:L→HもしくはH→Lのエッジを与えると、録音した音をスピーカーに出力
  RECLED:通常時H、録音中L、再生終了時Lパルス(これは出力端子)
   ※基板上にプリント無し/REC端子の隣がRECLED

 マイコンのGPIOポートや各種センサ出力を接続することで条件に応じて音を鳴らすことができる

  ・マイコンから任意タイミングでSEを鳴らす
  ・人感センサと組み合わせて警告音を鳴らす
  ・ドアセンサと組み合わせてチャイムを鳴らす
 
 など
 センサ出力のレベルが合えばマイコンを経由しなくても音が鳴らせるのは便利
  ※GPIOおよびセンサ出力レベルを本機のVccに合わせること

 音声出力が小さいため、用途によってはアンプによる増幅が必要になる
  ※信号自体が弱いため、スピーカーを交換しただけでは音は大きくならない

追記:
 共立エレショップで(おそらくは)同製品の取扱いを確認


 端子加工済みの電池ボックスが付属しており給電方法を準備する手間が無い
 検品の手間+電池ボックスを考えたら適正価格だし、納品も中国よりずっと早いのは良い
 日本語マニュアルが公開されているのがありがたい限り

 
追記2:
 続編があります

2016年7月15日金曜日

スマホの位置情報偽装について調べたメモ


前提知識/位置情報の取得方法について:
 スマホでの測位方法はざっくり以下の3つに分かれる

 1.GPSを利用する
  複数の衛星の発信した電波を受信して位置を計算する
  GPSの受信装置が必要
  精度が良く処理は重い
  スマホ用GPSは処理の一部をサーバで行っているため別途通信が必要

 2.携帯電話の基地局を利用する
  衛星の代わりに携帯電話の基地局を用いる方法
  GPSよりも処理が軽い
  キャリアとの契約およびLTE(3G)の通信機能が必要

 3.wifiのアクセスポイント(以下AP)を利用する
  衛星の代わりにAPを用いる方法
  精度は周辺のwifi設置状況に依存(多ければ多いほど良い)
  APと位置情報との紐付けをしているサーバから情報を得る必要がある
  一番メジャーなのはGoogleの測位サービス

  GPS非搭載、SIMなしwifiのみのタブレットでも測位ができるのはこの方法を使っているため


位置情報を偽装する方法:

 1.開発者用の機能を利用する
  デバッグ用にテストデータを食べさせる機能がありこれを利用する
  機能を有効にして偽装したい位置データを与えるだけ
  一番簡単だがアプリ側には偽装はバレバレ

 2.位置情報取得APIをフック
  位置情報取得に使うAPIをフックしてデータを差し替える
  基本的にrootを取らないと無理
  root前提の偽装ツールはこの方法を用いている

 3.BluetoothタイプGPSのフリをする
  タブレットなど外付けGPSに対応した機種のみ
  GPSとの通信プロトコルは単純なSPPなので簡単に真似できる
  外部機器を用いてGPSのフリをして偽装したい位置データを出力する

 4.APのフリをする
  外部機器を用いてAP自体を偽装する
  特定の場所におけるAPの状況を再現できれば位置情報の偽装が可能
  複数のニセAPと位置情報―APの関連付け情報が必要になる
  また、移動を再現するにはAPの電波強度の増減制御が必要


偽装への対策:
  
 1.root環境でのアプリケーション実行を禁止する
  最もメジャーな偽装方法が使えなくなるため効果が高い
  ただしこれを迂回する方法を考えてくるのでいたちごっこになる

 2.複数方法での位置チェックを行う
  GPSやAPの組み合わせなど複数の方法で測位を行う
  データ間の矛盾が発生した場合は偽装と判定する

 3.テレポートや高速移動チェック
  有り得ない移動についてのチェックを行う


所感:
 そもそも不正が行われることが想定されていない性善説的設計という印象
 基本的にクライアント(スマホ)側の自己申告を信じるしかないため、偽装のハードルは低い

 位置情報を扱うアプリでは最悪、偽装されても問題が無いようなデザインにしないとマズい
 位置情報をゲームのスコアや抽選のシードとして直接使ってしまうと破綻しかねない
 

 

 

2016年7月8日金曜日

Amazonで中国から電子工作部品を買った話

Amazonでは電子工作部品が多数出品されており、その中には中国製の激安品も含まれている
以下はAmazonで中国ショップから電子工作部品を買った時のメモ

中国ショップの特徴:

 ・安い
  とにかく安い
HiLetgo Mini USB Nano V3.0 ATmega328P CH340G 5V 16M マイクロコントローラーボード Arduinoと互換
  ArduinoUNO互換機が445円、Nano互換機が360円とパーツ代も出ないレベルの安さ

シリアルのICも安物なのはご愛敬


 ・送料無料
  マケプレ出品なのだが殆どの店が送料無料
  100円のワイヤー一本だろうが送料無料
  ただしこれには理由がある(後述)

 ・納期が長い
  どの店も判を押したように1週間~2週間ほどかかる
  これは中国からはるばる船便で送ってくるため
  スモールパーツを封筒に入れて向こうから船便を使えば送料は100円台
  送料無料なのもこれが理由

 ・梱包が緩い
  どんなパーツも緩衝材の簡易包装で送られてくる
  端子がちょっと曲がっているとかはフツー

 ・品質も緩い
  コネクタが曇っているとか基板に浅い傷があるのはあたりまえ
  10個買ったら不良品が1,2個混じるのは覚悟すべき
  また、データシートが存在しなかったり基板上のプリントが間違っていたりする
  自力で配線をチェックしたり、外部サイトで情報を集める必要がある

つまりaitendoあたりで売っているパーツを検品前に直接安く買うようなもの
急ぎでない品質が要らないものを買う分にはアリかと