脱獄アプリの作り方

みなさんこんにちは、nattoです。 皆さんクリスマスしてますか?僕はオーストラリアのサンタクロースでもあるので年中クリスマスソングを聞いてます。

因みにこの記事は adventar.org

の15日めの記事だよ。

学類長先生のチェックが通るかわからないけど、 もう脱獄キッズや脱獄大学生は絶滅したと思ってるのでたぶん大丈夫。

事の初まり

最近、拙者paypayでipad買ったねん。そしたら高校生の時持ったipod touchのいろんな情報がi雲の上から沢山降ってきたんですよ。その中の画像ファイルには沢山のスクショがありましたとさ...

注意!

こっからの内容はすべて筆者の歴史と妄想です。また脱獄は大変危険な操作です! なにも責任とれないのであしからず。

とりあえず githubでも みてみるか(575)

高校生の時からもう4年、4年もあれば桃も、栗も育つのですべての状況が変っているはず。 とりあえず高校生の時は知らなかったgithubでjail breakとか調べるか。

うわぁ、すごい!!Most stars順で並べると、脱獄発見器の2トップですね! 正義が勝ったみたいですごい!!!

どれどれソースを覗いてみるとCydia,MobileSubstrate,sshd,aptなんかのファイルがあるか? cydiaのUrlSchemeが使えるか?/privateに書き込み権限があるか?で判断しているようですね。

高校生の時はAppleStoreで手に入る通常アプリが脱獄環境下ではブロックされる場合があり苦労をしましたけど こんな簡単なプログラムだったんですね、Wakaるってすごい。

初めてのプログラミング

皆さん、初めて端末に文字を入力したときの記憶がありますか?そのときはどんなときだったでしょう? yas様に教えられた、シス管系女子が隣にあった、ユーデミーを見ながら機械学習の基礎を学んでいるときだった、 いろいろあるでしょう。

自分も明確に覚えていますよ!だったスクショとったんだから

f:id:wakarin111:20181215185105j:plain
terminal

僕の場合は親戚に頂いた白ROM 脱獄iPhone3GSでした。 そうか〜初めて打ったのはpasswsdlsじゃない所が変化球ですよね、だからこんなひねくれ者になったのでしょうか?

なぜこの操作がどの様な意味であるか今なら分りますね。

[wakarin: ~] su -h                                                                        ?[master]

Usage:
 su [options] [-] [<user> [<argument>...]]

Change the effective user ID and group ID to that of <user>.
A mere - implies -l.  If <user> is not given, root is assumed.

Options:
 -m, -p, --preserve-environment      do not reset environment variables
 -w, --whitelist-environment <list>  don't reset specified variables

 -g, --group <group>             specify the primary group
 -G, --supp-group <group>        specify a supplemental group

 -, -l, --login                  make the shell a login shell
 -c, --command <command>         pass a single command to the shell with -c
 --session-command <command>     pass a single command to the shell with -c
                                   and do not create a new session
 -f, --fast                      pass -f to the shell (for csh or tcsh)
 -s, --shell <shell>             run <shell> if /etc/shells allows it
 -P, --pty                       create a new pseudo-terminal

 -h, --help                      display this help
 -V, --version                   display version

For more details see su(1).

第一引数に与えたユーザーに変化できるらしい、 つまりこのスクショではmobileとrootのpasswordを変更したいようですね。

なんでこの操作が必要なのでしょうか?googleで調べましょう

ほほーん、iphoneではデフォルトのpassがすべてalpineなんですね、こんな状況でopen-sshなんてインストールしたらたいへんだー。 それらしい歴史的経緯も下のリンクにありますね。

www.reddit.com

因みにgimp君やピーマンで隠されている所には生でpasswordが書いてありました。そうだよね、suで求められるpasswordとpasswdで変更するpasswordと間違ったんですね、きゃわいい〜。

春よ、来い

皆さん、ユーミンは好きですか?僕は大好きです。 皆さんユーミンの名字を覚えてますか?荒川は旧姓ですよ!僕は最近まで読めませんでした。

ところで紅葉綺麗な秋がくれば、当然皆大好きクリスマスがある冬もくるし、 冷い雪の降った後には春も来ることは日本でも人間でもiPhoneでも同じことです。

iPhoneではSpringBoardというソフトウェアがiOSのホーム画面とそれに付随した機能を管理しています。 これをrebootとする...つまりreSpringですね!

当然脱獄をすればこれらを自由に変更することができるアプリケーションがあります。 その一例はWinterBoardです。多分これの開発者がアプリ名をサマーボードとしなかったのは僕と同じで冬とクリスマスが大好きか、映画「サマーウォーズ」と語感が似ていることが嫌なんだと思います。(違う) オープンソースとして公開されているので少し覗いてみましょう。

git clone git://git.saurik.com/winterboard.git/

ふむふむ全く分らんが所々にdpkgの息吹を感じる...

そしてこれらの謎技術を用いて高校生時代でけたものが↓

f:id:wakarin111:20181215214218j:plain
オタク

むっちゃオタクですね〜「あなたが瘠せない45の理由」はなんでインストールしたんでしょうか?

オタクは多くを語らないことにします。

最後に

全然脱獄アプリ作るまで書けなかった...

この話はまた来年か、去年のWORDIAN Advent Calendarでします。

最後に筑波大学情報学群情報科学類のサイトにはiPhone Jailbreakに関する注意喚起がなされています。