Nintendo_Iphone_0

アップル プログラムの抜け穴を巧みに利用して、脱獄せずに非認可のゲームをプレイする方法

ゲーマーたちは長いこと、ポケモンやスーパーマリオのような古典ゲームをiPhoneでプレイしたいと願ってきた。しかし、任天堂が自社の収益構造の弱体化を懸念したために実現せず、iデバイスにゲームボーイの機能を搭載させるにはデバイスを脱獄させるしかなかった。

もうそんなことをする必要はない。アップル開発者プログラムの思いがけない抜け穴のおかげで、今のところiPhoneやiPadを脱獄しなくても、ゲームボーイ アドバンスのエミュレーターをインストールすることができるようになったのだ。エミュレーター開発者のRiley Testut氏が作成したこのアプリはGBA4iOSと呼ばれており、有名な脱獄エミュレーターであるgpSphoneをベースにしている。

iPhone版任天堂に必要なものは全て、Testut氏のGitHubページで手に入る。3段階の簡単なステップに従うだけで、モバイルsafariを通じてアプリをiPhoneに直接ダウンロードすることがでる。App Storeに載っていないテストアプリをインストールする際は、通常iPhoneのUDIDや電話番号などの個人情報を要求されるものだが、それらを入力する必要もない。

アプリのインストールには多少の専門知識が要求されるが、一旦インストールさえしてしまえば、非認可の任天堂ゲームを探してダウンロードするのは簡単に行える。ReadWriteは著作権侵害を容認しないので、これ以上のことに触れるのはやめておこう。

アップル プログラムの抜け穴とは

Testut氏が利用した抜け穴とは、アップルのiOSデベロッパー エンタープライズ プログラムに関するものだ。
当プログラムは、大勢のユーザーにテストアプリを転送する場合、通常は必要とされるUDIDの登録やプロビジョニング プロファイルのインストールを省略できるように設計されたものなのだが、一方で非認可のアプリが正常な(脱獄していない)iデバイス上で実行できるようになってしまった。

アプリのダウンロードを容易にするために設計されているので、このプログラムには制限がほとんどない。通常のiOSデベロッパー プログラムであれば、例えばアプリをダウンロードできるデバイスの数は100台までといった制限が設けられているのが普通だ。

ゲームボーイ アドバンスのエミュレーターは、MacBuildServerという会社を通じてこのシステムの抜け穴を利用している。Testut氏は、ビルドしたGBA4iOSアプリをGitHub linkからユーザーにダウンロードさせているわけではない。ただ、アプリのコードをアップロードしているだけだ。

通常、アプリのコンパイルは誰にでもできる。つまり、ダウンロードしたコードをアップルのXcodeでビルドし、自分のエンタープライズ デベロッパー アカウントを通じて登録すれば良いのだ。ただし、Xcodeに対応したGBA4iOSをダウンロードしなければならないので、ちょっと困難な作業だ。

誰かが代わりにアプリをビルドしてくれたら随分楽になるはずだ。エンタープライズ プログラムの尋常でない寛大さに感謝しよう。MacBuildServerは開発者支援を行っている会社で、開発過程からXcodeを取り除いて作業を簡単にしてくれる。この会社はエンタープライズ デベロッパー アカウントも持っており、Testut氏はこれを利用しているのだ。

Testut氏のGithubからダウンロードしてきたコードをMacBuildServerに提出してみよう。アプリは自動的にビルドされ、MacBuildServer社のアカウントで署名され、ユーザーのデバイスに直接インストールされる。

関連記事:Dear Nintendo: Give Me Super Mario On My iPhone Already

WonderHowToのNelson Aguilar氏が、MacBuildServer社になぜこんなことを許可しているのか尋ねた。MacBuildServerの共同創立者であるSergey Dmitriev氏はこう答えている。「MacBuildServerのユーザーは皆、彼ら自身の証明書でアプリの署名を行う必要がある」

しかし、実際にはこのプロセスを利用すれば、ユーザーは彼ら自身の証明書を必要としない。Dmitriev氏はさらに語った。「プロセスがいかに簡単かを示すために、MacBuildServerのアカウントを使ってコンパイルしたアプリに署名しているのです。ユーザーは、ビルドしたアプリをテスト目的でのみ使用できます。特に制限等は設けていません」

つまり、Testut氏のGBAエミュレーターをダウンロードしてきた場合、ユーザーはそれを「テスト目的」で使用すればよいのだ。言い換えれば、Testut氏は恐らくiOS史上最大級のベータ版テストを行っているということだろう。この先決してアップルに認可される見込みがないであろうアプリのテストをだ。

ボス戦!

アップルがこの事態を快く受け止めているとは思えない。今すぐには無理だろうが、何かしらの対処は考えているだろう。

エンタープライズ プログラムのユーザーが他のユーザーのために署名できるという抜け穴を塞いでくるかもしれない。または、デバイス制限を設けて、任天堂ファンがGBA4iOSアプリをMacBuildServerのアカウントでインストールできないようにするかもしれない。

どちらの場合でも、ユーザーが自分自身のエンタープライズ デベロッパー アカウントを取得し、Xcodeを使って自分でTestut氏のGitHub codeをコンパイルするのを防ぐことはできない。また、熱狂的なゼルダ ファンであれば、Dmitriev氏の道徳的な提案に従って、彼自身のアカウント情報をMacBuildServerに提供してアプリをビルドすることも可能である。

技術的な知識がない人は腰が引けるだろうが、他にも色々なやり方がある。リスクを伴うが、脱獄させてしまうのが一番簡単かもしれない。

もちろんアップルはMacBuildServer社とTestut氏を厳しく糾弾することもできるだろう。MacBuildServer社とTestut氏のどちらもこの事業によって利益を得ていないことを考えると、それはやや理不尽に見えるかもしれない。しかし、著作権問題では、似たようなケースでもっと極端なリアクションを求められたこともあるのだ。

ReadWriteはMac卿に接触を試みた。もし回答が得られれば今後の経過をお伝えするつもりだ。

それまでの間、ポケモンファイアレッドに挑戦したくて死にそうだが脱獄はしたくないというiPhoneユーザーは、この抜け道のことを記憶に留めておくと良いかもしれない。

Nick Statt
[原文]