「hack」タグアーカイブ

賞金付きクイズアプリの答えを求めるbot

HQ というオンラインクイズの iPhone アプリがあり、アメリカで流行しつつあるそうです。

一日2回開催される、12問のトリビアクイズに全問正解すると、その回の賞金を正解者で山分けできる、というサービスで、アプリに登場する司会者に特徴があり、家族・友人・同僚などを巻き込みやすい形になっているのが広まっている秘密のようです。

そんなクイズアプリに対して、前記事のようなプログラムによる解法をデモしたのが、トビー・メラーさんんのこちらのブログ記事

デモ動画はこちら。02:00 前後から、アプリの出題(画面右側)に対して、画面中央に開いたコンソールが、3択の回答を表示しています(小さくて見づらいので、キャプションで強調表示されていますが)。

回答が提案されるプロセスは以下の通り

  1. iPhone のアプリ画面を QuickTime で MacBook に映す
  2. Automator で問題と回答3択のスクリーンショットを撮る
  3. Google Vision API でテキスト化
  4. Googleカスタム検索API で、”問題文”や”問題文” AND 回答候補 を検索
  5. 検索結果の先頭9個の抜粋文に、回答語が出てくる回数をカウント
  6. 抜粋に回答が出ない場合は、URLを開いてページ全文から回答語をカウント

この単純な方法で、7秒以内に正答を得ることができているそうです。

なお、実際のゲームでこういったプログラムを使うのは、HQ アプリの利用規約に触れるということで、メラー氏は録画したゲーム画面を使って、こういったことが可能だ、という検証のみを行ったということです。

HQ アプリの方でも、不正な参加者を無くすべく、画像を保存するユーザーを弾いたりと対策を実施しているようですが、なんとなればiPhone の画面を別のカメラで撮影したっていいわけです。大なり小なり賞金が出る、という時点で、検証ではなく本気でこういう解法を使ってくるユーザーが出るのは避けられなさそうに思います。

HQ Trivia

カテゴリ: ゲーム, 教育, トリビア, 単語
言語: EN
価格: 無料
バージョン: 1.3.22

開発者: Intermedia Labs
公開日: 2017年8月26日
評価(全バージョン):
(28人のレビュー)
評価(現バージョン): 評価なし

スクリーンショット

screenshot 0screenshot 1screenshot 2screenshot 0screenshot 1screenshot 2screenshot 3

CSSスクロールで(マリオ風)横スクロール、(マリオカート風)キャラクター操作

CSSだけで(JavaScript無しで)動くページを作る、というお題でこんなもの

“A”キーと”D”キーで車が左右に動いています。

こちらが作者のステファン・クックさん(Stephen Cook)による解説ページで、13行のhtml以外はすべてCSS、画像ファイルも使っていないということです。

CSS内に定義したデータから絵を描くのは、グラデーションとbox-shadow を使っています。1ピクセルごとに色を指定しているんですね。

キー入力の方はというと、こちらのCSSだけで検索エンジンを作るという記事(デモはこちら)にあるように、inputフィールドの value 属性に反応させればと思ったそうですが、ユーザーの入力に応じて value の値がアップデートされるということは無く、こちらの検索デモでは1行のJavaScriptを使っていることがわかりました。

クックさんは数週間前に間違ってブラウザのJavaScriptをオフにしてしまい、未だに戻す方法を見つけられていないということで、JavaScript を使わない方法を探さざるを得なかったよう。たいへんですね。

疑似セレクタ :valid, :invalid で、フォームフィールド内のタイプ内容がaを含むかどうかを場合分けし、さらにフォームフィールドにプレースホルダーを表示してるかどうかの :placeholder-shown と併せて、キー入力に応じて3値を見分けることにしたそうです。

レースゲームとして背景が動くところは、アルシデス・ケイロスさん(Alcides Queiroz)が公開していたマリオ風横スクロールにヒントを得たということです。

See the Pen Mario made only with CSS gradients – no JS, no embedded images/data URIs, no external images and using a micro HTML =) by Alcides Queiroz (@alcidesqueiroz) on CodePen.

こちらの解説では、CSSグラデーションで各ピクセルを時間に応じて変化させるというのを全ピクセルに対して行うことで、CSSだけでの横スクロール表示を実現しているようです。ソースコードを見ると、Stylus で描画するスプライトのデータをひたすら大量のCSSコードに展開しているのがわかります。生成後のCSSを見るとすごいことになってます。

via TheNextWeb

Galaxy S8の虹彩認証、早くも写真で突破される

目のパターンを読ませて本人しか使えないようにする虹彩認証、自分の体でスマートフォンをアンロックできるのでとても便利そうな機能ですが、サムソンの新機種 Galaxy S8 の虹彩認証が、写真とコンタクトレンズで突破できてしまう、という検証動画が公開されてしまいました。

カオス・コンピューター・クラブ(Chaos Computer Club, CCC)なるグループが公開したこの動画では、誰もが手に入る道具だけを使っての再現方法が紹介されています。

正面写真の撮影は夜間モードで。

プリンターで印刷した本人の写真そのままではなく、上にコンタクトレンズを置いてます。レンズの球面が効いてるんでしょうか。

指紋認証の時も、寝ている人の指紋を型取りして、なんていうハックがあったかと思いますが。普通に正面から写した写真でアンロックできてしまうのでは、単体の鍵としてはあまり使えないかもしれませんね。認識の部分の改善に期待したいところです。

[追記 2017-05-27] Gizmodo に対してサムスンから、ニュースは認識しており、テスト等で厳しくチェックしているが、もし新たな問題があるならできるだけ早く解決するよう努力する、といった内容のコメントが返されたということです。

via Motherboard

Pokémap – Pokemon Goのポケモン・ジム・ポケストップを可視化する勝手ツール

アメリカ人をトリコにし、任天堂の株価を倍に押し上げた位置情報ゲーム「ポケモンGo」、日本での今日のリリースが2ちゃんねる経由マクドナルドからのリークで延期になった、とかいう話も(本当かどうかわかりませんが)流れて来たりと、これから日本でも熱くなりそうなところです。

Pokémapは、Ahmed Almutawaが始めたばかりのツール開発プロジェクトで、ポケモンGo に出てくるポケモン達、アイテムを得られるポケストップ、奪いあうポケジムなどゲームを簡単に進められるようにする重要情報を、Google Mapベースの地図に表示してしまうというPython製ツールです。

pokemap-top

現在のツールはプログラマでないとセットアップがたいへんそうな作りになっていますが、こんなツールで地図が見えてしまうと、一般のユーザーとの競争はかなり簡単になってしまうのではという心配もあります。

各データは Niantec 社のサーバとの通信を見て取得しているようなので、早晩、通信方法が変更されたり、暗号化されたりするのではと思いますが、熱心なユーザー&開発者が2日間で50人近く contributor として集まったそうで、GitHub 上のプロジェクトページでは一時的にプルリクエストを受け付けませんという表示がされています。

via The Verge

普通のプリンタと特殊インク/用紙だけで指紋認証を突破する

ミシガン州立大学バイオメトリックス研究グループの Kai Cao 氏と Anil K. Jain 氏が発表した研究成果では、3次元で型を取ったりボンド等で凹凸をつけたりすることなく、市販のプリンターで印字した指紋を使って、スマートフォンの指紋認証が突破できることを示しています。

2d-fingerprint-hack-items

利用するのは、普通の市販のプリンター(今回はブラザー製だそうです)、AgIC社の導電性インク、同じく専用紙。

2d-printed-fingerprints

スキャンした指紋の画像を、このプリンターで印字し、切り取ってスマートフォンの指紋センサーに当てると、Samsung や Huawai の指紋認証対応スマートフォンのロックを解除できてしまったということ。

# なんで一番普及してる iPhone じゃないんでしょうね。iPhone ではあまりうまく再現できなかったのかしら

使われている特殊インクはは、以前に「描いたら回路になるペン」でクラウドファンディングを受けたのと同じ会社のもののようですね。

これまで発表されていた手順は、グミ的な素材で型を取った3Dの指型とか、2Dで印刷した紙の上に木工用ボンドや液体ゴムを盛り付けて作った指型によるものだったそうですが、今回の手法は、誰にでもできるより簡単な手法と言えますね。

via Hacker News