え!!!
どうした?
ある文字を入力したら、画面が黒くなった、、、
こんにちは、NICHIです。
今回は、ある文字「""::」を入力するとソフトの再起動が発生する事象について解説します。
目次
ある文字を入力するとiPhoneが壊れる?
iPhoneが壊れるってどういうことだよ、、、
方法としては、iPhoneのホーム画面を全て左にスワイプして、
「Appライブラリ」の検索画面で、「""::」を入力するだけです。
On Wednesday, a security researcher found that typing “”:: can cause the Apple mobile user interface, called Springboard, to crash.
TechCrunch verified that those characters do crash Springboard when typed into the Search bar in the Settings app, as well as if you swipe all the way to the right on your home screen and type them into the App Library search bar.
設定画面の検索窓で入力しても発生するっぽいな
実際に試してみた!
① ホーム画面を左にスワイプして、「Appライブラリ」を表示します。
② 検索窓で「""::」を入力します。
③ 画面が暗くなり、ロック画面が表示されます。
おー、ほんとにクラッシュするんだな、、、
ちなみに、設定画面でも試しましたが、設定アプリが落ちるだけで、
画面が暗くなる事象は発生しませんでした。
この事象が発生する条件は?
どのiPhoneでも発生するのか?
恐らく、OSバージョンが原因かと思います。
iPhoneをバージョンアップしながら、試してみました。
機種 | OSバージョン | 事象の発生有無 |
---|---|---|
iPhone SE(第一世代) | 15.8.3 | × |
iPhone SE(第二世代) | 16.7.2 | ○ |
iPhone SE(第二世代) | 17.7 | ○ |
iPhone SE(第二世代) | 18 | × |
おー、OSバージョンが16と17の時に発生するのか
事象が発生する理由は?
結局どういう理論で発生するんだ?
一旦、文字列を何通りか試してみました。
①":":a
②"":5
③"hoge"::
④:":"a
⑤"""::
⑥"";::
結論としては、①、②、③は、事象が発生しました。
個人的な考察ですが、事象が発生するのは下記条件を全て満たしたときかと思います。
・最初が「"」から始まる
・「"」が2個あるとき(間に他の文字を挟んでもよい)
・2個目の「"」の直後に、「:」があるとき
つまり、2個の「"」と「:」が関連しているということです。
んで、結局どういう意味なんだよ?
iPhoneが何のプログラミング言語を使用しているか公開されていないので、
詳しいことは分からないのですが、実際にはない処理を実行しようとしてエラーになっている感じだと思います。
「""」は、プログラミング言語でいうと、文字列を示します。
「:」は、プログラム文の処理の終わりを示すことが多いです。
つまり、「"":」は何かの処理を呼び出すような形式になっているかと思われます。
しかし、実際はその処理は存在しないのでエラーになっているのではないかと
じゃあ、存在する文字列を指定すれば、機能するってことか?
まあ、その可能性もあるかと、、、
セキュリティ大丈夫なのか、、、
ここまで読んでいただき、ありがとうございます。
下記の記事も是非ご覧ください。