Siriの通信内容を赤裸々にしたデベロッパー「SiriはAndroidでも使えます」

Siriの通信内容を赤裸々にしたデベロッパー「SiriはAndroidでも使えます」 1

Siriさんが普段どんなことしてるか、解明したそうです。

Siriがほとんどの処理をサーバーサイドで行っていることは、すでによく知られつつあります。だから端末の性能はあんまり関係なさそうな気がしますが、それでもアップルは、SiriがiPhone 4Sでしか使えないのはハードウェアが理由だと説明しています。

SiriがiPhone 4で動いた例もあるので、本当にiPhone 4Sじゃなきゃ使えないのかどうか、もやもやします...。と思っていたら、フランスのモバイル系デベロッパーのApplidiumがそのもやもやを解消してくれました。彼らによれば、Siriはどんな端末でも、たとえばAndroid端末でも動かせるんだそうです。

 

 

Applidiumでは、SiriにおけるiPhone 4Sとアップルのサーバー間の通信の全プロセスを解明しました。数段階の試行錯誤の末、どんなデータをどんな形でやりとりしているのか、ひとつひとつ捉えていったのです。そしてその中で、彼らはSiriがAndroidなど他のネット接続端末で使えない理由はたった1行のプログラム上のコードであることを発見しました。さらに彼らはサードパーティのSiriクライアントを作って実際動かすことも可能だと言っています。ただし、問題のたった1行のコードによってその試みは失敗に終わってしまうのかもしれません。

問題のコードは全iPhone 4Sに対し1台ごとにユニークなものが割り振られていて、今のところそれを複製する方法はありません。なのでサードパーティのクライアントを作って動かすには、手持ちのiPhone 4Sに割り振られたコードを捕捉してそれを流用し、iPhone 4Sの方は使わないことにしてしまうか、もしくは同じコードを使い回し、アップルに見つかってブロックされるのを待つかしかありません。ともあれ基本的に、Siriをいろいろな端末で使えない理由は1行のランダムな文字列だけです。

Applidiumのサイトには今回のハックに実際使われたプログラム(多くはruby、一部C言語やObjective-Cで書かれています)も公開されているので、プログラミングに詳しい方はのぞいてみても楽しいかもしれません。ただし実際そのプログラムを使いたくなった場合は、いろいろとリスクもありそうなのでくれぐれもお気をつけて...。

[Applidium via Ars Technica]

Michael Zhao(原文/miho)