MPC Studio Black どうなのだ

米 AKAIPRO のサイトにはいつのまにかもう公式ページが公開されていますね、MPC Studio Black.

 

MPC Studio Black : Akai Professional - Iconic music production gear, including the legendary MPC

 

さらっと見てみたけど Black のここがすごい!新しい!みたいな記述が見当たらなくて紹介文が初代 MPC Studio のコピペなので、黒くなってノブの形状が変わった以外、ハードウェア的には変更なしなのかしら。

 

ということは MPC Software 2.0 の内容次第と言うことですね。となると初代 MPC Studio が 2.0 に対応するかどうか。(するだろうな、有償アップグレードかもしれないけど)

 

しかし見た目的には黒の方が明らかにかっこいいので、臨時収入があったらぜひ買っていきたいと思います。(MPC Touch より Studio Black の方が見た目的には好み)

 

[2016/2/29 追記]

日本のアカイのサイトにも情報が。

製品情報:MPC STUDIO BLACK:AKAI Professsional

新しいノブ、形が変わっただけじゃなくて「タッチセンス対応」と書かれてますね。

「素早く正確なコントロールが可能」が具体的にどーいう感じなのかさっぱりわかりませんが、3/7発売、税込 \44,800 らしいということで店頭に並んだらさわってみたいです。(ところで MPC Software は 2.0 じゃなく 1.9 での発売なんですね)

 

 

Kaossilator 2S たのしい!

去年末に衝動的に買った Kaossilator 2S ですが、大分たのしいです!

 

PRO や 2 と違ってルーパーが1パートに戻ってしまったので、パートの抜き差しをしながらライブ的に展開を作ってくのはできなくて単体では初代みたいな感じになりましたが、Ableton Live プロジェクトへの書き出し機能があるので、本体の2小節ルーパーだけでどうこうしようというよか、ちょっと重ねすぎてよく分からんなっていうくらい多重録音を重ねて、後で Live で素材を並べて展開を付けてくという感じに使うのが良いかと思います。

 

 

↑は布団に入ってから寝るまでの10分くらいで適当に遊んだのを、Live に持ってきてタイムライン編集して展開を付けて、終わりのとこにディレイエフェクトかけたのと、マスターにコンプをかけた程度の感じのデモです。

 

基本的には2小節分のループ素材 (waveファイル) が多重録音を重ねた分だけ生成される感じなので、オーディオ編集ができれば Live じゃない他の DAW でも同じように遊べると思います。(単に、Live 向けには最初からトラックを配置したプロジェクトファイルまで生成できるというだけ)

 

とにかく単体でマイク録音も出来るしスピーカーがあるのでヘッドフォンがなくても手軽にモニタリングも出来るし、バッグに放り込んでおけばいつでもどこでも遊べて、気に入ったループが出来たらちょっと気合を入れて DAW で編集すれば1曲仕上げられるというのは意外に類を見ないジョリーグッドなオモチャなのではないかと思います!

 

みんなも買うとよいよいよいよい (残響音含む)

 

欲を言えば、DAW への書き出しをメインに考えると、毎度フタを開けて microSD を抜いてっていうのはすこぶるダルいので、PC に繋ぐとマスストレージモードになる感じの microUSB 端子があるとなお良かったのう、という感じです。

PS4 の HDD を 2TB のに換装

正月の家族行事の合間を縫ってようやくPS4のHDDを初期の500GBから2TBに換装しました。換装自体はむっちゃ簡単でした。プラスドライバ1本あれば10分もかからず換装作業自体は完了する感じです。

HDDのとこのカバーはかなりアクセスしやすく作ってあって、ガワをえいやと引っ張るだけでパカっと外れる。そのあとHDDマウンタはスライド式でねじ1個で留まってるだけなので、ねじ1本外せばマウンタがスライドして取り出せる。

あとはマウンタに4本のねじで2.5インチHDDが取り付けられているので、ねじを4本外してHDD入れ替えてねじを4本取り付けてマウンタをスライドして挿してねじを1本取り付けてカバーを元に戻すだけ。ベリーイージー。

 

そのあとバックアップ用USBメモリに入れておいたシステムソフトウェアをインストールして、初期設定を一回やったらすぐに設定>システムからバックアップの復元。たったこれだけでした!

 

そのあとは、PlayStationStore に再サインインして、ライブラリーからもっかい各アプリケーションをダウンロードするだけ……なんだけど、ここは一つずつダウンロードの指定をしていく必要があって、数が多いとちょっと大変。一括でダウンロード、みたいのがあると良かった。(たぶんない)

 

さて次はPS4から取り外した500GB HDDをPS3の160GBのHDDと換装だ。

2015年に買ったもの

今年買ってよかったなーと思ったものをメモ。

 

Pebble Time

kickstarter に出資してゲット。

初代 Pebble ユーザだったので、カラー化されたらさらにジョリーグッドだろうと即決。初代 Pebble の利点がどこもほぼ損なわれることなくカラー化して大満足です。当然毎日装着しており、先日一度だけ寝坊して大慌てで家を出た時に付け忘れたら、一日中心細くて、付けたくて付けたくて震えた。

あと Amazon千円ちょっとの金属ベルト買って付け替えた。これもすこぶる良い。(純正のラバーバンドも悪くはないけど付け外しが若干面倒、それが金属ベルトだとスポっとしてスチャっとやるだけなのでめっさ楽! たまに腕毛が挟まる。)

 

M-Audio Trigger Finger Pro

オタレコの製品紹介 Youtube を見て衝動的に購入。通常4万円のものがなんと1.5万円!というお値打ち感にまず衝撃を食らい、あと付属のソフトシンセもかなりのお値打ち感、そしてトドメに、単なるMIDIコンではなく実はハードウェアシーケンサーとしても使えるという十徳ナイフ感で完封。

そもそもなぜか僕はこの16ステップのシーケンサーと TR-REC 方式がなぜか大好きで。electribe とかも大好きで。なので大好きなステップシーケンサーがついてパッドも七色に光るこのアイテムはぜひ買っていこうそうしようと思ったのでした。

ステップシーケンサ兼パッドコントローラのオールマイティーマシン、Trigger Finger Proの破壊力 : 藤本健の“DTMステーション”

とりあえずパッドをパシパシ叩きステップシーケンサーをポチポチして Hybrid3 をブリブリ鳴らしながら遊んでいますがまだハードウェア音源とは繋いでいない。

 

Nexus 5X

ドコモ版を購入。実用品として普通にとても良い。あと地味にカメラがとても良い。Xperia Z3 のカメラも良かったけどあっちは割とマニュアルで色々考慮して撮る必要があるけど、Nexus 5X のはフルオートで何も考えずにホワイトバランスとかしゃんとした写真がサクッと撮れるので良い。あと動画のスロー撮影 (秒間120フレーム) が面白い。

ただ、BT ヘッドフォンと繋ぐと時々音切れ等が発生するので、もしかすると BT の出力とかが他の機種に比べて少し弱いのかなという気がしています。ストレージも内蔵32GBのみで拡張できないため、Google Play Music でオフラインにガンガンダウンロードするには心許ないので、音楽再生については別の端末を使っております。

 

Kindle Paper White (ニューモデル)

嫁さんが Amazon プライム会員のお試し期間を忘れててそのまま年会費払ってプライム会員となってしまったので、それに乗っかってプライム会員価格で購入。Android 端末の Kindle アプリで途中まで読んでいた BLAME! を一気に最終巻まで購入して読み終えた。今はシドニアの騎士を読んでいます。

絶対にないと不便だという製品では全然ないけど、あるとやはり便利。あと e-ink スクリーンはやはり読書用途としては、普通の液晶ディスプレイより優れていることを実感しました。

手持ちの PDF を転送して読むこともできますが、試しに KORG のマニュアルを入れて読んでみたところ、使いづらかった。書籍のように1ページ1ページじっくり読み進めるものには良いですが、マニュアルのようにザクザクとページをめくって目的のページを表示するというような使い方の場合は、e-ink の書き換えの遅さと、タッチパネルとは言っても昨今のスマートフォンとはまるで次元の違うタッチ操作レスポンスがネックとなるのですなあ。(ちゃんとインデクシングされているPDFであれば大丈夫かもしれない)

あとこれは端末というよりサービスの話ですけど、Kindle 本の購入がワンクリック購入しかないのは怖い。大人が自分ひとりで使う分にはホイホイサクサクと本が買えて便利ですけど、家族や子供に貸したときにワケわからん本が大量購入されそうで怖い。一応、間違えて購入した場合にはリファンドもできるようだけど、ここはせめて課金前にワンクッション、パスワード入力させて欲しいところ。(設定でワンクリック購入をオフにすることができるけどそうすると Kindle から一切購入ができなくなるので、それはそれで自分で使うときに不便になってしまう)

 

KEY-BAK #0KB2 サイドキック カラビナ付キーリール 60cmケプラーコード

www.amazon.co.jp

 

僕の場合もう何年も、家の鍵とかはカラビナ付きの紐が伸びるキーリールに付けてベルトループにぶら下げとく、ということをやっておるのですが、今までホームセンターとかハンズとかで買ってたものはヒモが千切れたりケースが割れたりで大体半年に一回くらいのペースで買いなおしていました。

んでそれが流石にイヤになってとにかく頑丈なやつということで探して買ったのが上記のやつ、ファッション性は皆無ですがマジで頑丈、もう10ヶ月使っていて時々末娘(2歳)にいたずらでガーガー引っ張られたり、車なんかのシートに挟まって席から立つときにビヨーンとかなったりしていますがさすがケブラーコード、擦り切れてヒモにちょっとほころびが…ということが一切起きていません。まさに「タフすぎてそんはない」といった趣であります。

 

nasne

今月ついに購入。いままでずっと PS3 + torne で頑張ってきましたが、最近家でもノートPCをメインに使っているために家庭内に NAS 欲しいなーという希望と相まって、レコーダ兼 NAS として購入。外付けHDDを足しても最大で3TBまでだし RAID 組めるわけでもないので本格的に NAS として使うには心許ないのですが、そもそも NAS 経由でアクセスするには不向きなもの (ビデオカメラの AVCHD 動画とか) はローカルの USB HDD へ置いておく等の運用でカバー。(できると思っている)

買う前は torne とは入れ替えだなと思ってましたが、PS3torne アプリを起動してみると録画先が torne か nasne か選べるようになっており、これはすなわち今まで2番組同時録画ができなかったのが出来るようになったということであり、嬉しい誤算。あと torne mobile でいつ何時でも録画予約ができるようになり超便利。さらには自室に置いてある Vita TV からも使えるようになって超超便利! さらに今までは torne から Vita に録画番組書き出すのに USB ケーブルで接続しなきゃいけなくて手間で全然録った番組未消化積読状態だったけど nasne なら Vita にも Xperia (Z3) にも WiFi 経由で書き出せるので楽になって録った番組の消化も捗って超超超便利じゃないかと! 今後も torne と併用してまいりたいと思います。

 

2.5inch 2TB HDD

PS4 の 500GB HDD の換装用として。PS+ 入ってるので毎月配信されるフリープレイとかで大分 HDD 埋まってて、既に10GBくらいしか残っていない状況に。ということで 2TB でもたぶんすぐ枯渇するだろうなと思いつつポチッとしました。これを換装し、取り出した PS4 の 500GB HDD はさらにこちらも同じ原因で容量の逼迫している PS3 の 160GB HDD と換装するという逆わらしべ長者的かつ三段逆スライド方式な目論見。

(ハリキッてポチったはいいものの作業時間が取れなくて既に一か月ほど絶賛熟成中)

 

KORG Kaossilator 2S

www.korg.com

 

気が付いたらアマゾンでポチっていた。初代の四角黄色い Kaossilator も持ってるけど、あれは (一応のアンドゥ方法はあるものの) 基本的にオーディオのオーバーダブ一発勝負のオモチャでありそれでも十分に楽しかったんだけど、しばらく見ないうちに 16GB microSD への直接記録かつ本体での再生としてはオーディオルーパー的にオーバーダブした1トラックしか再生できないけど、実は内部的には各オーバーダブは別レイヤーとして保存されていて、SD カードへパラで書き出せて、何だったら Ableton Live へオーディオ+プロジェクトファイルとしてエクスポートしてすぐ編集できる!あと内蔵マイクもついてて超お手軽に自然音とか声とか録れる!当然 LINE IN もあるので外部音源も重ね録りできる!というなにそれすげえ的な進化を遂げていたので気が付いたらアマゾンでポチっていた。

先日届いたので早速遊びましたが、いやー、これはいいオモチャだわ。めっちゃ楽しい! 小さくて電池駆動で見た目も変なケース付けたスマフォかラジオ的なものにも見えなくないので、電車の中で遊ぶと大変に愉快です。

半年もすれば飽きる気もしますし、2S を買ったばかりだというのにやっぱり Kaossilator Pro+ が欲しくて (なぜなら見た目がカッコいいので) (既に持ってる KP3 と並べて緑と赤でビカビカ光らせて「あーかいカオパとみどりのカーオーシー!」っていうのをボコーダーでループさせたいので) (というか見た目がカッコいいので) たまらなくなってヤフオクを毎日見ている次第です。

 

AKAI MPK225

製品情報:MPK225:AKAI professional

 

Trigger Finger Pro を買ったばかりだというのに、なぜか気が付いたら先日宅配されていた。元値 39,800 円のところ、アウトレット品が 12,800 円!という衝撃の値引き率を見た瞬間に宇宙の法則が乱れ、カクカクしかじかの紆余曲折的なアレがアレして気が付いたら先日佐川急便のおじさんがウチに来て置いていった。付属の MPC Essentials がなぜかアクティベートできなくて途方に暮れている。←いまここ

 

正月中にはなんとかしたい。

 

これから買うつもりのもの

 

今年の正月休みは帰省とかしないので、時間がなくてあきらめていた

  • MGS5:TPP
  • Fallout4
  • ウィッチャー3 ワイルドハント
  • マリオメーカー
  • スプラトゥーン

を買って正月はゲーム三昧としたい。(正直 Fallout4 だけでもこのあと3年くらいかかりそう)

あといい加減に Deka VS Deka を見たい。(まだスタートアップディスク!)

 

「MMS経由でAndroid端末が乗っ取られる」という話題について

jp.techcrunch.com

 

japanese.engadget.com

 

大変に恐ろしげな Android脆弱性が発表され、話題となっております。

 

大本は、Zimperium という iOS/Android 向けのセキュリティソリューションを提供している会社が書いた以下のエントリです。

blog.zimperium.com

 

ブコメでは「やべー」「こえー」「やっぱ Android ダメだ」「だから Nexus にしろと」などのコメントが飛び交っておりますが、どうも技術的に大事な部分をあまりみなさん理解しないで、センセーショナルな書きぶりに踊らされてビビっている感じがします。

 

脆弱性がらみの問題に関しては、ソフトウェアにバグは絶対に付き物ですから (軽々しく「絶対に」という言葉を使うのは好きではありませんが、ここは自信を持って絶対にと言えますw)、脆弱性があった、発見されたということそのものより、

  • それがどのくらいの範囲に影響を及ぼすのか
  • またその脆弱性によってどのような被害が予想されるのか
  • それから、どうすればその脆弱性を回避できるのか

が大事だと思いますので、一つずつ確認していきましょう。

 

どのくらいの範囲に影響を及ぼすのか

Android OS では、"Stagefright" と呼ばれるメディア再生エンジンを採用しています。

Media | Android Developers

今回見つかった脆弱性はこの Stagefright の NDK で実装された部分の、メモリ周りのバグにあると発表されています。メモリ周りということなので、典型的なバッファーオーバーフローを利用した任意コードの実行かと思われます。

Zimperium の発表では Starfright が採用されたAndroid 2.2 以降のバージョンがこの脆弱性の影響を受けるとのことです。また特に 2.2 ~ 4.0 (ICS) のものは、不十分な脆弱性対策のために、より危険だとしています。これは Starfright の脆弱性そのものが 2.2~4.0ではさらに危険という意味ではなく、OSバージョンアップに伴って採用されている各種脆弱性対策 (アドレス空間配置のランダム化とかカーネルアドレスの漏洩を避ける機能とか) が入っていないため、という意味だと思われます。

 

最新版の Lollipop 5.1.1 にもまだ本件に対する更新は入っていないため、2.2~5.1.1 が対象ということになりますが、今現在さすがに 2.1 Eclair の端末を現役で使っている人もいないと思いますので、ざっくり、Android 端末全てが影響を受けると言ってもよいのではないかと思います。

 

どのような被害が予想されるのか

次に、予想される被害ですけれど、今回は Starfright でのバッファオーバーラン攻撃と思われますが詳細は不明、でも Google は今回の脆弱性の重要度を「高」としていますので、一般にインストール可能なサードパーティーアプリと同様の、非特権レベルでの任意のコードが実行可能です。

Security updates and resources | Android Open Source Project

要するに「通常アプリの範囲で出来ること」が実行可能と思えばよいと思います。

悪意を持ったマルウェアの類がやりそうなことと言ったら、以下のような内容でしょうか。

  • 連絡先や端末の電話番号、発着信履歴を読み取り、どこかのサーバへ送信する
  • クリップボードを監視し、以下同
  • SD カード内のアクセス可能なデータ (写真など) を読み出し、以下同
  • マイクを監視し、周囲の音を盗聴して以下同
  • 現在位置を取得し、以下同
  • SMS を送信する

一方、Android では「他のアプリ」のデータにはサンドボックスによりアクセスできないため (これは NDK を使っている場合でも同じです)、例えば以下のようなことはできません。

  • バックグラウンドでキー入力を読み取ってどこかに送信する (キーロガー)
  • バンキングアプリのデータを読み取って口座情報や残高情報を取得する
  • ブラウザのデータを読み取ってクレジットカード情報等を盗む

Android では、「危険レベル」のアプリ権限でも、毎実行時に例えば「連絡帳へのアクセスを許可しますか?」みたいに問い合わせる仕様になっていないので、一度攻撃が発動してしまえば、電話番号やら位置情報やらのいわゆる個人情報が気づかないうちにわりとフルコースで盗まれる可能性はなくはない、といったところでしょうか。(どういう権限がついた状態でコードが実行されるか分からないので、何とも言えないですが)

 

どうすれば脆弱性を回避できるのか

今回の脆弱性は根本的には Starfright のメモリ周りのバグなので、どのような手段であれ、「バッファオーバーランするよう細工をしたメディアデータを Starfright に食わせる」ことが出来れば発動させることが可能と思われます。

記事にあるように MMS 経由でというのはそのうち一つの方法でしかなく、MMS であれば電話番号を宛先として送ることもできるので、「電話番号知ってるだけで Android 端末乗っ取りイェーイ!」というセンセーショナルな見出しのために例に挙げられたまでかと思います。

MMS 経由の場合、Android で標準的に SMS/MMS クライアントとしてインストールされている Hangout であれば、MMS を受信した段階で自動的にメディアファイルを処理する (恐らく、MMS を表示する際の動画のプレビュー用サムネイルを生成するため?) ために「MMS に動画を添付して送りつける」だけで脆弱性を突かれてしまうという合わせ技となります。

MMS クライアントがそのような処理をせず、添付された動画ファイルなりをユーザが開くまでは Starfright が呼ばれないなら、少なくともそのタイミングまでは攻撃はされないと思います。んで、できればその間に「知らん奴からのMMSや」ということで開かずに削除したり、アンチマルウェアソフトとかでその exploit が含まれたデータを検疫できればなお良い。

ということで、対処の一つには、MMS を受信しない設定にする、あるいはMMS を利用するのであれば MMS クライアントを Hangout ではなく他のものに変えてみる、という手は有効かもしれませんが、あくまで MMS クライアントの挙動次第です。(※そもそも MMS が受信可能なのかどうかという話がありますがそれは後述)

 

当然、MMS 以外でも、例えば Gmail などでも、細工されたメディアファイルを添付し、それを開いたら Starfright で処理されるのであれば、当然攻撃を受けることになると思いますし、細工した動画の URL をどっかに書き込んで、閲覧した人がその URL を踏んで Starfright に処理が渡ったらアウト、というシナリオも考えられます。(この場合は当然、攻撃者はターゲットのメールアドレスを知っている必要があるので電話番号よりは難易度が上がるし、URL で誘導する場合には「ユーザが一切気づかないうちに」とはいかなくなります)

 

Starfright を利用するアプリが何であるかはすぐにはリストアップできないので、正直、有効な回避策はコレ!と言うのはなかなか難しいところです。

 

もちろん根本的には Starfright に対する修正パッチを適用する、というのが回避方法であるのは言うまでもありません。(それができないから皆困ってるんだけども)

 

最もお手軽な攻撃の起点とされる MMS について

べつだん MMS が原因なわけではないことは先に述べましたが、電話番号さえ知ってれば一方的に送れて、かつ Hangout ユーザであれば相手の知らないうちに攻撃を発動させられるもっともお手軽な方法として MMS が有効なので、可能であれば MMS の受信自体を防いでしまいたいところです。

 

ただ、ワールドワイドでは SMS/MMS の利用が一般的で、スマートフォン時代になった今でも E-Mail やメッセンジャーではなく MMS の利用も一定あるのかなと思いますが、こと国内に置いては、そもそも MMS ははっきり言って全く普及していません。

まず、ドコモは一切 MMS サーバを提供していませんので、ドコモの電話番号宛てに MMS を送ることはできません。

auiPhone 向けにだけ MMS サービスを提供していて、Android 向けには提供していません。一般に MMS サーバの設定はアクセスポイントの設定に付随して設定されるので、auiPhone を契約し、その AP 情報から MMS サーバの情報を拾って Android 端末でも設定すれば使えるかもしれませんが、あまりに一般的でないのでここでは例外とします。

ソフトバンクはキャリアメールとして MMS を採用しているので、Android ユーザでも MMS が受信可能になっています。

また、ワイモバイルも MMS サービスを提供しています。

MMS|メール|通信|サービス|Y!mobile(ワイモバイル)

MVNO については、UQ mobile が珍しく MMS サービスを提供しているようですが、その他の MVNO では聞いたことがありません。僕は IIJ mio と mineo を利用していますが、どちらも MMS サービスは提供しておらず、また試してみたところ実際に送受信もできませんでした。

オプションサービス設定方法(メールサービス) | 各種設定方法について | ご利用ガイド、製品サポート | サポート・FAQ | 格安スマホ・格安SIMのUQ mobile

 

ということで、「MMS 経由で今回の脆弱性を攻撃される」可能性があるのは、現時点ではソフトバンクモバイルAndroid ユーザと、Y!mobile の Android ユーザだけということになりそうです。

(ただし Y!mobile の Nexus5/6 にはたぶん近いうち修正パッチが来るんじゃないかなと思います)

 

ここからは筆者の感覚的な物言いですが、ソフトバンクユーザは iPhone チョイス率がとても高いと思いますので、Android ユーザどんだけいるのかなと思います。(2014/2 時点のリサーチ結果ですが、ソフトバンク内でのシェアは、iPhone 74%、それ以外 26% のようです)

また、Y!mobile でも Aquos や DIGNO 等の Android 端末が販売されていますが、これも感覚的には、わざわざ Y!mobile をチョイスする人は、Nexus 端末使いたくてチョイスしてる気がすごくしますので、これもソースがなくて申し訳ありませんが、Y!mobile でかつ Nexus 以外の端末使ってる人は、ほぼいないんじゃないかと思います。もしこの記事を読んでいる方で該当の方がいましたらマジごめんなさい。(ちなみに先ほどのリサーチですと、docomo/au/softbank 以外のキャリアでのスマートフォン利用者は、2% となっています)

 

ということで、大本の記事では、「95%の Android 端末がこの脆弱性の影響を受ける!」とセンセーショナルに書いてありますけれど、同様に数字のマジックを使ってセンセーショナルに書けば、「だが日本ではMMSを受信可能なAndroidスマートフォンユーザ全体のわずか8%である!」とも書けます。(とても恣意的!)

母数を各キャリアの Android ユーザだけに絞っても、13%という計算になります。

 

現時点でこの脆弱性を利用した実際の攻撃は観測されていないみたいなので、なかなかに影響も被害もデカいセキュリティーホールだなあとは思いますが、実際に被害をこうむる人は国内に限っては意外と少なかったりするのではないかなー、とかのんきに考えています。

 

ただ、こういう深刻な脆弱性が発見されたときに、アップルが直接 OS のアップデートをエンドユーザに配る iOS と違って、Android の場合 Google はパッチは出すけどそれを採用した OS アップデートを配るのは各キャリアやベンダという構造になっていますから、各キャリアやベンダがさっさとアップデートを配るなら問題ないんですけど、現実には「キャリアやベンダのカスタマイズ部分の都合」で大幅にリリースが遅れたりリリースされなかったりするので、キビシーです。

最近 webview がOSの組み込みコンポーネントでなくアプリ扱いになって、Google Play 経由で更新できるようになりましたけど、その他の重要なコンポーネントについても、OS のバージョンアップではなく Google Play 経由で更新できるようにどんどん切り出していくと良いんじゃないのかなあと思います。(たぶんもうやってるんだろうけど)

 

ダラダラ書いてたらスゲー長くなったけど推敲するのがめんどうなのでこのまま公開します。間違い等の指摘ありましたらどんどんお願いします。どっとはらい

 

追記 (2015/07/31)

JVN の記事によれば、Stagefright エンジンのバグは整数オーバーフロー/アンダーフローだったようです。

JVNVU#92141772: Android Stagefright に複数の脆弱性

 

当座のワークアラウンドとしてはやはり、使っている MMS クライアントで

  • MMS の受信を、信用できる相手 (=連絡先に登録されている相手) だけのみにするオプションをオンにする。
  • 添付ファイル (マルチメディアファイル) の自動取得オプションをオフにする

といったあたりが挙げられています。もちろん、MMS を利用できない/受信していない場合は関係ありません。

今の所、実際にこの exploit が出回っているという話は耳に入ってないのですが (といってもそんなに調べているわけでもないんですが)、しばらくは MMS に限らずメールの添付ファイル等も用心した方が良さそうです。

また、可能性としては "Web で細工されたビデオのリンクを踏んで攻撃に会う" というシナリオも考えられます。AndroidFirefoxHTML5 のビデオ再生に Stagefright を使っているのですが、バージョン 38 でこの問題を既に潰しているようなので、用心のためブラウザは Firefox 38 以降を使うようにするのも良いと思います。

Buffer overflow and out-of-bounds read while parsing MP4 video metadata — Mozilla

Firefox for Android - Google Play の Android アプリ

(※バージョン38以降が利用可能かは、使っている端末次第です)

「なぜ iPhone の画像は Android の画像よりもずっと高品質なのか」という記事について

qiita.com

 

「なぜ iPhone の画像は Android の画像よりもずっと高品質なのか」という記事。

タイトルをよむと、品質という言葉が使われているので、いわゆる JPEG の (不可逆圧縮部分による) 画質の話のように読めますが、記事の内容を読むと画質の話ではなく「ファイルサイズ」の話でした。

 

libjpeg の optimize_coding とは

 

記事中では、「Android の libskia では、libjpeg の optimize_coding が常に FALSE なのが問題だ」と書いています。

記事中にも引用がありますが、libjpeg のドキュメントでは optimize_coding は以下のように説明されています。

boolean optimize_coding
    TRUE causes the compressor to compute optimal Huffman coding tables
    for the image.  This requires an extra pass over the data and
    therefore costs a good deal of space and time.  The default is
    FALSE, which tells the compressor to use the supplied or default
    Huffman tables.  In most cases optimal tables save only a few percent
    of file size compared to the default tables.  Note that when this is
    TRUE, you need not supply Huffman tables at all, and any you do
    supply will be overwritten.

 既にこの説明の時点で「In most cases optimal tables save only a few percent of file size compared to the default tables.」=「ほとんどのケースでは最適(ハフマン符号木)テーブルは、デフォルトテーブルに比べてほんの数パーセントのファイルサイズを節約するだけ」と書かれてますので、画質の話ではないということが分かるんですけれど、ちょっと詳しく見ていきます。

 

まず、ハフマン符号化というのは、可逆圧縮のひとつで、JPEG の圧縮においては、

  1. 離散コサイン変換して (情報量は変わらず)
  2. 量子化テーブルを使って量子化して (ここで情報が丸められるので情報量がごっそり減るが情報が劣化=画質が劣化する)
  3. 量子化後のデータをさらにハフマン符号化、(ゼロ)ランレングス符号化して可逆圧縮する

という手順の、最後の部分です。

 

解説はこちらが分かり易いと思います。

データ圧縮の基礎『ハフマン符号化』の仕組みを見てみよう - 道すがら講堂

 

とにかくハフマン符号化つまり「可逆圧縮」に関するオプションなので、ここで画質が劣化する=情報が失われることはありえず、圧縮率=最終的なファイルサイズにしか関係ない。(画質うんぬんは量子化の部分で決まる)

 

で、TRUE causes the compressor to compute optimal Huffman coding tables for the image. と書いてあるので、TRUE にすると、このハフマン符号化に使うハフマン符号木を、libjpeg 側で画像に最適なものを計算するということになります。

 

FALSE の場合は libjpeg がデフォルトで持ってるテーブルか、JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS] というポインタにセットしたテーブルを使うことになる。(libskia でこのポインタにさわれるかどうかは知らない)

 

記事中では「optimize_coding をTRUEに設定すると、より多くのディスクスペースと時間を要するために、デフォルト値はFALSEとされていることがわかります」と書かれているけど、ここで "ディスクスペース" と訳すとなんか結果の JPEG ファイルのサイズのことに思えるけど、そうじゃなくて、画像データを頭からスキャンしてハフマン符号木を構築するためのメモリスペースと計算コストが "たんまり" かかるよということ。(This requires an extra pass over the data and therefore costs a good deal of space and time.)

 

細かいことを言うと、その構築したハフマン符号木のデータが、復号のために結果の JPEG ファイルに追加されるので、その分のファイルサイズは大きくはなるけど、画像全体のデータに比べるとたいした量ではない。

 

つまり、TRUE にすると

  • libjpeg 側で画像に最適なハフマン符号木を計算するので、ハフマン符号化の圧縮率が良くなって、JPEG ファイルのサイズを小さくできるよ
  • でもハフマン符号木を計算するための処理コストが結構かかるのと、あと JPEG ファイルに計算したハフマン符号木を埋め込むのでちょっとだけファイルサイズが大きくなるよ

ということです。

 

Android の libskia ではこれが常に FALSE なので、元の libjpeg のハフマン符号化テーブルのポインタにアクセスできないとすれば、常にデフォルトのハフマン符号化テーブルが使われることになるけれど、いずれにしてもこれは「ハフマン符号化の圧縮率」の話なので画質は関係ない。再三いうけれど画質はハフマン符号化以前の量子化の部分で決まります。

 

仮に、「FacebookTwitterInstagram 等どれを使っていても、写真をとって、フィルタをかけて、ソーシャルネットワーク上に公開すると、いつも Android から投稿される写真は画質が劣化しています。」というのが事実だとすれば (検証してないので分からない)、optimize_coding そのものが原因なのではなく、何か別の話じゃないかと思います。それが何なのかは分からないけど。RGBからYCbCrへの変換処理がヘボいとか、量子化の処理がヘボいとかなのかもしれません。

 

こちらからは以上です。

Bethesda's E3 Showcase

f:id:tripleshot:20150622201045j:plain

 

E3プレスカンファレンスの招待状イメージ、結局なんだったんや!

 

Bethesda's E3 Showcase 時点では Fallout4 の発表などにウオォーと盛り上がったけど、そのまんまサイコブレイクに関する発表は何もなく終わってしまい、しかしまだE3本編が残っている、まだだ、まだあわてるような時間じゃない、とか思ってたら、その後本編でも特に何の発表もないまま E3 2015 終わってしまった。ズコー。

 

今となっては、招待状イメージに載ってるキャラクター (が登場するタイトル) について発表があるという意味ではなく、ベセスダの 3A タイトルのキャラを一堂に並べてみましたという程度の意味しかなかったのではないかと解釈するほかないでゴワス。無念でゴワス。

 

続編や関連作の発表はなかったけど、とりあえずは金庫DLCのホーンテッドバトル死闘篇をまだクリアできてないので、頑張りたい。コンティニューしまくったせいでセバス&オダ組の登場まではかなり安定して楽勝になったけど、最後が突破できない。一回だけセバスにロケラン7連射くらいして倒して、あとオダだけっていう状況まで追い込んだけど、刀でシャキシャキ斬ってたらローリングからの火炎瓶で焼き殺された。ナムサン!

 

我慢しきれず攻略動画を見てしまったところ、出現前に有刺鉄線トラップをエレベータ前あたりにバラまいとくことでトラップにかけたりトラップ解除行動でスキを誘ったりできるみたいなんで、頑張ろう。あとバス裏あたりに体力回復アイテムを何個か溜めておくのも有効っぽい。

キーパーのロケラン、構えてから発射可能になるまで微妙なタイムラグがあるのが使いづらい。入れる前に出るくらいの早漏感覚でイッてほしいものだと思う。

 

こちらからは以上です。