<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>チート on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%81%E3%83%BC%E3%83%88/</link>
		<description>Recent content in チート on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Fri, 21 Sep 2018 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%81%E3%83%BC%E3%83%88/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>賞金の出る4択クイズゲームを隠しカメラとOCRで解くプロジェクト</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/09/solve-trivia-machine-with-buttoncamera-and-ocr/</link>
				<pubDate>Fri, 21 Sep 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/09/solve-trivia-machine-with-buttoncamera-and-ocr/</guid>
				<description>&lt;p&gt;イギリスのパブなどに置いてあるゲーム機に、クイズを解き続けることで勝ち進み、最後は賞金が出るものがあるそうです。&lt;/p&gt;&#xA;&lt;p&gt;GitHub に公開された&lt;a href=&#34;https://github.com/tensor8/hacking_slot_machines&#34;&gt;こちらのリポジトリ&lt;/a&gt;では、そのトリビアクイズ機を解いてしまう支援ツールが公開されています。&lt;/p&gt;&#xA;&lt;p&gt;こちらのアニメーションgif でプレイしている様子が見られますが、質問文と、4択の回答が表示されて、時間内に正答をタッチすると次の問題へ行けるんですね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/tensor8/hacking_slot_machines&#34;&gt;&lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/09/solve-trivia-machine-with-buttoncamera-and-ocr/quiz.gif&#34; width=&#34;500&#34; height=&#34;328&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/tensor8/hacking&#34;&gt;https://github.com/tensor8/hacking&lt;/a&gt;_slot_machines&lt;/p&gt;&#xA;&lt;p&gt;こちらの動画に、ドラマか何かの中で出てくる、この手のゲームで遊んでいるシーンがあります。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/j7CK7ultHdo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Github上の解説によると、&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;カメラ内蔵のボタンで撮った画面の画像を Raspberry Pi へ送信&lt;/li&gt;&#xA;&lt;li&gt;画面の傾きを補正、OpenCV で問題・4つの回答のボックスを切り出す&lt;/li&gt;&#xA;&lt;li&gt;Google Tesseract で文字を抽出&lt;/li&gt;&#xA;&lt;li&gt;得られた文字を[問題・回答]のデータから総当たり検索&lt;/li&gt;&#xA;&lt;li&gt;espeak で音声合成した結果を隠しイヤホンに送る&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;という作りで、画面に映った問題の答えがイヤホンで聴こえてくる仕組みを実現しているそうです。&lt;/p&gt;&#xA;&lt;p&gt;上にあるように、すべての問題と回答のデータはある前提で、これはゲーム機のROMからごく簡単な暗号化されたデータが取れていて、Pythonスクリプトで逆変換しています。&lt;/p&gt;&#xA;&lt;p&gt;最初は問題文だけの検索で済ませるつもりだったそうですが、問題文の認識精度が完全ではなく、回答(20個のうち正答含めた4つがランダムに選ばれる)もあわせ、読み取りに間違いがある前提で単語間距離が小さいものを検索することで質問を特定しているとのこと。&lt;/p&gt;&#xA;&lt;p&gt;当初は Raspberry Pi だけでこの処理を完結させるつもりだったそうですが、それだと回答が出てくるのに30秒掛かって間に合わないため、バックパックに入れたノートパソコンに画像を飛ばして、イヤホンへの音声合成もそこでやっているということ。Raspberry Pi はあまり関係なかった&lt;/p&gt;&#xA;&lt;p&gt;やってる内容が内容なので、&lt;a href=&#34;https://news.ycombinator.com/item?id=18035283&#34;&gt;Hacker News のコメント欄&lt;/a&gt;では法律やモラルの問題を指摘する声も多く出ています。ボタンの穴から写す隠しカメラや、小型コンピュータであるラズパイ、バックパックに隠したPCなどの道具だてから、隠れてやるつもりがあるのも明らかですし。&lt;/p&gt;&#xA;&lt;p&gt;Hacker News に紹介した id:jamesough が本当の作者なのかは確認できてませんが(作者である風にコメントで答えてはいます)、コードの更新日が2年前なので、これを実際に使ってたとしても前のことなのでしょうね。&lt;/p&gt;&#xA;&lt;p&gt;アメリカのカジノでは、こういった本人の努力や知識で結果が変わるギャンブル機は無いそう。規則で許されていないようです。また、イギリスではこの手の &lt;a href=&#34;https://www.gamblingcommission.gov.uk/for-gambling-businesses/Compliance/Sector-specific-compliance/Arcades-and-machines/Skill-with-prizes-SWPs.aspx&#34;&gt;Skill with prize (スキルで賞金)ゲーム&lt;/a&gt;はギャンブルの範疇には入らないそうで、そのためパブ・映画館・ショッピングモールなどに自由に置くことができるのだとか。&lt;/p&gt;&#xA;&lt;p&gt;この手の知識を問うゲーム機、特に賞金が出るものは、最初は簡単に答えられるものの、勝ち進めば進むほど問題の難度が上がり、またとても人間が答えられなさそうな問題も出るようになっているそうです。しかし、こんな風に機械による支援を受けた人間なら解ける、となってしまうと、賞金を出すビジネスモデルではもう立ちいかなくなってしまうでしょうね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=18035283&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>賞金付きクイズアプリの答えを求めるbot</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/09/bot-answers-online-trivia-in-realtime/</link>
				<pubDate>Fri, 21 Sep 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/09/bot-answers-online-trivia-in-realtime/</guid>
				<description>&lt;p&gt;HQ というオンラインクイズの iPhone アプリがあり、&lt;a href=&#34;https://digiday.jp/agencies/spread-like-virus-agencies-obsessed-hq-trivia/&#34;&gt;アメリカで流行しつつある&lt;/a&gt;そうです。&lt;/p&gt;&#xA;&lt;p&gt;一日2回開催される、12問のトリビアクイズに全問正解すると、その回の賞金を正解者で山分けできる、というサービスで、アプリに登場する司会者に特徴があり、家族・友人・同僚などを巻き込みやすい形になっているのが広まっている秘密のようです。&lt;/p&gt;&#xA;&lt;p&gt;そんなクイズアプリに対して、&lt;a href=&#34;http://developer.cybozu.co.jp/akky/2018/09/solve-trivia-machine-with-buttoncamera-and-ocr/&#34;&gt;前記事のようなプログラムによる解法&lt;/a&gt;をデモしたのが、トビー・メラーさんんの&lt;a href=&#34;https://medium.com/@tobymellor/hq-trivia-using-bots-to-win-money-from-online-game-shows-ce2a1b11828b&#34;&gt;こちらのブログ記事&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?time_continue=124&amp;amp;v=UPRhVWzZ9kM&#34;&gt;デモ動画&lt;/a&gt;はこちら。02:00 前後から、アプリの出題(画面右側)に対して、画面中央に開いたコンソールが、3択の回答を表示しています(小さくて見づらいので、キャプションで強調表示されていますが)。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/UPRhVWzZ9kM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;回答が提案されるプロセスは以下の通り&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;iPhone のアプリ画面を QuickTime で MacBook に映す&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://support.apple.com/ja-jp/guide/automator/welcome/mac&#34;&gt;Automator&lt;/a&gt; で問題と回答3択のスクリーンショットを撮る&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cloud.google.com/vision/&#34;&gt;Google Vision API&lt;/a&gt; でテキスト化&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cse.google.com/cse/all&#34;&gt;Googleカスタム検索API&lt;/a&gt; で、&amp;ldquo;問題文&amp;quot;や&amp;quot;問題文&amp;rdquo; AND 回答候補 を検索&lt;/li&gt;&#xA;&lt;li&gt;検索結果の先頭9個の抜粋文に、回答語が出てくる回数をカウント&lt;/li&gt;&#xA;&lt;li&gt;抜粋に回答が出ない場合は、URLを開いてページ全文から回答語をカウント&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;この単純な方法で、7秒以内に正答を得ることができているそうです。&lt;/p&gt;&#xA;&lt;p&gt;なお、実際のゲームでこういったプログラムを使うのは、HQ アプリの利用規約に触れるということで、メラー氏は録画したゲーム画面を使って、こういったことが可能だ、という検証のみを行ったということです。&lt;/p&gt;&#xA;&lt;p&gt;HQ アプリの方でも、不正な参加者を無くすべく、画像を保存するユーザーを弾いたりと対策を実施しているようですが、なんとなればiPhone の画面を別のカメラで撮影したっていいわけです。大なり小なり賞金が出る、という時点で、検証ではなく本気でこういう解法を使ってくるユーザーが出るのは避けられなさそうに思います。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://itunes.apple.com/jp/app/hq-live-trivia-game-show/id1232278996?mt=8&#34;&gt;https://itunes.apple.com/jp/app/hq-live-trivia-game-show/id1232278996?mt=8&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>スマートフォン上の反射神経型リズムゲームを解かせる電子工作</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2017/02/arduino-robot-plays-touchscreen-game/</link>
				<pubDate>Fri, 17 Feb 2017 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2017/02/arduino-robot-plays-touchscreen-game/</guid>
				<description>&lt;p&gt;Mihai Cosmin さんが作ったのは、iPhone 上のリズムゲームを解く専用ロボット。&lt;/p&gt;&#xA;&lt;p&gt;遊ばせているゲームは、&lt;a href=&#34;https://itunes.apple.com/app/dont-step-on-the-white-block/id852759213?mt=8&#34;&gt;Don&amp;rsquo;t step on the white block&lt;/a&gt; というスマートフォンゲームですね。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/3bnJvryfjkM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;スクロールしてくる白い部分を避けて、黒いところをタイミングを合わせてタッチすると点数になる、というよくあるリズムゲーム。&lt;/p&gt;&#xA;&lt;p&gt;スマートフォン自身の耐久テスト・出荷テストや、ソフトウェアのテスト用にタップするロボットは&lt;a href=&#34;http://www.technologyreview.com/news/522501/intel-robot-puts-touch-screens-through-their-paces/&#34;&gt;既に存在しています&lt;/a&gt;が、それらは精度も高ければ価格も個人で買うようなものではないでしょう。&lt;/p&gt;&#xA;&lt;p&gt;この動画中では、Arduinoとリレー、竹ひご、スポンジなど安価な材料だけで作られたロボットがゲームを遊んでいます。動画の後半では、ゲームスピードを300%, 600%と上げていきますが、機械は苦ともせずついていってます。&lt;/p&gt;&#xA;&lt;p&gt;類似の他のリズムゲームなども、あらかたこのような機械で解けそうですね。&lt;/p&gt;&#xA;&lt;p&gt;普通の人ではなかなか解けないように難易度を上げていって、先を見るためには有料アイテムを買ってくださいね、というビジネスモデルのゲームも多いと思いますが、こういう機械が簡単に使えるようになったら、それらのゲームの多くは意味が無くなってしまうかもしれません。動画は2014年のものなので、実はそういうプレイヤーがネットのバーチャルな競技場の向こうに既にいるのかも。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://itunes.apple.com/app/dont-step-on-the-white-block/id852759213?mt=8&#34;&gt;https://itunes.apple.com/app/dont-step-on-the-white-block/id852759213?mt=8&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>万歩計を騙す、さまざまな方法</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/</link>
				<pubDate>Mon, 24 Oct 2016 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;通貨の単位は、商売繁盛を連想される「オオイリ」で、残業をしなかった場合には、１回につき１０オオイリ、１日に１万歩以上を歩いた場合には１００オオイリを支給します。&lt;/p&gt;&#xA;&lt;p&gt;今年度中をめどに、会社の周辺にある飲食店で利用できるようにする計画&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www3.nhk.or.jp/news/html/20161023/k10010741131000.html&#34;&gt;独自の“社内通貨”活用 社員に労働時間の削減促す - NHK&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;ニュースの本題のところとは違う話ですけど、「万歩計の結果でお金(相当)を渡す」という制度は大丈夫なのかなー、と思いました。万歩計なんて簡単に騙せそうなので。&lt;/p&gt;&#xA;&lt;p&gt;一定の振動が与えられ続けば万歩計はカウントされるでしょうから、振動し続ける機械があればいいんですよね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://pdwhomeautomation.blogspot.jp/2016/01/step-counter-cheating-machine.html&#34;&gt;ポールさんの「ギークの父ブログ」&lt;/a&gt;では、レゴを使った万歩計騙し機(Step counter cheating machine)で、Androidの万歩計アプリを誤動作させたやり方が解説されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/pedometer-cheating-machine.gif&#34;&gt;&lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/pedometer-cheating-machine.gif&#34; width=&#34;186&#34; height=&#34;234&#34; alt=&#34;pedometer-cheating-machine&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;こちらの動画では1分あたりから動作の様子が見られます。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/7ZBI9Sgfxi8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;歩くの面倒だ、という人のはポケモンGoユーザーの中にもいるようで、動画&lt;a href=&#34;https://www.youtube.com/watch?v=z1DvKCO6TKM&#34;&gt;Pokemon Go Hack&lt;/a&gt;では、いくつかの異なる手法が提案されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels_hu_e7928c2773d02730.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels_hu_b878e96e5c8118cd.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels_hu_86c41c87bda2efbe.webp 850w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels.png&#34; width=&#34;850&#34; height=&#34;468&#34; alt=&#34;drag-smartphone-by-wheels&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;家の端と端にモーターのついた滑車を置いて、&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels-2.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels-2_hu_cd7d896fbeea4d0e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels-2_hu_f5277efd77b8ebbb.webp 577w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/drag-smartphone-by-wheels-2.png&#34; width=&#34;577&#34; height=&#34;429&#34; alt=&#34;drag-smartphone-by-wheels-2&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;スマートフォンをその間で引きずりまわし続ける。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/let-ceiling-fan-run-pokemon-go.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/let-ceiling-fan-run-pokemon-go_hu_bb5f980bb7a81a73.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/let-ceiling-fan-run-pokemon-go_hu_c0bfacae8abf9cf3.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/let-ceiling-fan-run-pokemon-go_hu_8cef882db2ba3240.webp 852w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/10/cheating-pedometer/let-ceiling-fan-run-pokemon-go.png&#34; width=&#34;852&#34; height=&#34;435&#34; alt=&#34;let-ceiling-fan-run-pokemon-go&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
