AppStoreのアプリ(ipaファイル)はアカウントひも付けなため、事前に自分でバックアップしていなければダウングレードを行うことは出来ず、最新版でバグに遭遇…なんて時に…まぁ大変!
というのが周知の事実だったわけですが、ヒラクちゃんが「アプリの過去バージョンをダウンロードする方法」を紹介してくれて…ビックリ!
もやしさんもMac版での方法を紹介してくれていたので、どうせなら…ということで、今回はWindowsで過去バージョンをダウンロードする方法を試してみました!
なるべく細かく…と思って画像数を多くしたため、複雑に見えるのですが…1度成功してしまえばそれほど難しくはないので、暇な時にでも挑戦してみると楽しいかも!
AppStoreで昔のバージョンを…
通常AppStoreからは最新版しかダウンロード出来ないのですが、ヒラクちゃんが教えてくれた方法を使用すると、過去にリリースされた好きなバージョンをAppStoreからダウンロードすることが可能!
例えば、2011年6月にリリースされたLINEの初期バージョン…LINE v1.0.0なんかもダウンロードが出来ちゃう!レアだね!
注意
今回の手法は通信の一部を書き換えることで実現しています。やっていること、やろうとしていること、を理解したうえで実行をしてください。
① 必要な物をインストール(初回のみ
通信の解析&書き換えを行うために、Windowsでは【Fiddler】というソフト(無料)を使用します。
インストールと、ちょっとした準備が必要ですので、まずはそれをやっていきましょう。
1-1, ダウンロード
【http://www.telerik.com/download/fiddler】よりFiddlerをダウンロードします。
Windows 8 / 10の方は【Fiddler for .NET4】を選択、それ以外の方は【Fiddler for .NET2】を選択し、『Download Fiddler』ボタンからダウンロードを行いましょう。(その他選択肢や入力欄はスルーでオーケー)
1-2, インストール
ダウンロードしたexeファイルを起動し、Fiddlerをインストールしていきます。
特に変わった部分はありませんので、『I Agree』や『Install』といったボタンを押して進めていけば完了です。
1-3, 設定
Fiddlerを起動し、メニューバーから『Tools > Fiddler Options…』と選択してください。
続いて【HTTPS】タブを開き、『Capture HTTPS CONNECTs』と『Decrypt HTTPS traffic』の2つにチェックを付けましょう。
その際、鍵のアイコンが付いた選択肢が出現しますが、「No」を選択してください(次項で解説)
通信の解析で詰まった時は…
環境により、以下の作業を行う際…うまく通信の解析や書き換えが出来ない場合があり、その際は【証明書】をインストールすることで改善する事があります。
インストールを行うには、前項の『Capture HTTPS CONNECTs』の右側にある【Actions > Trust Root Certificate】をクリックすることで、インストールが出来ます。
出現したポップアップの『Yes』ボタンを選択、他にも【セキュリティ警告】など2つほど選択肢が出現しますが、どちらも『はい』でインストールとなります。
ちなみに…
【ルート証明書】については、きちんと理解したうえでインストールを行ってください。
また、インストールした証明書は「ファイル名を指定して実行(Windowsキー + R)」から【certmgr.msc】を起動し、アンインストールすることが可能です。
② アプリのバージョンIDを調べる(アプリごとに)
過去バージョンのアプリをダウンロードするには、そのバージョンのIDを調べる必要があります。
こちらは一度調べてしまえば、そのアプリの全バージョンIDが取得できますので、IDを全部メモしておくと便利です。
*今回は例として『LINE v1.0.0(一番最初のバージョン』をダウンロードしてみます。
2-1, アプリをダウンロード&即停止
*既に目的のアプリがダウンロード済みの場合は、iTunesのアプリ一覧から削除しておいてください*
Fiddlerを起動している状態で、iTunesより目的のアプリのダウンロードを開始させます。
ちなみに、アプリの詳細ページを開いておくと、アプリ名部分をクリックするだけでページの再読み込みが出来るため、今後の作業が楽になります。
目的のアプリがダウンロードのキューに登録されたのを確認したら、ダウンロードが完了する前に「停止&削除」を行います。(理由は、ダウンロードされてしまうとアプリファイルを削除しなければならず、ちょっと面倒だから)
キューを選択して『Deleteキーを2回』押せば、停止 > 削除となります。
もしダウンロードが完了してしまった場合は、iTunesのアプリ一覧からファイルごと削除しちゃってください。
2-2, 通信先を探す
Fiddlerの左側にズラッと通信履歴が並んでいますので、その中から【p××-buy.itunes.apple.com(××は数字】という通信先を探し選択しましょう。
いっぱいあってわからない場合は、【Ctrl + Fキー】で検索窓を出し【buy.itunes.apple.com】で検索すると見つかると思います。
2-3, バージョンID一覧をゲット!
続いてFiddlerの右側に移ります。
上部の『Inspectors』を選択した状態で、下に表示されている『Responseis encoded and may require…』という黄色い部分をクリックしましょう。
そのまま右下の画面へ移動…。
【Raw】タブを選択すると、ズラッとXML文が表示されていますが、この中から【softwareVersionExternalIdentifiers】というKey(キー)部分を探してください。
その下に「integer」というタグで囲まれた数字がずらっとあるのですが、これが目的のバージョンIDとなります。(数字が若いほど古いバージョン)
このアプリの別バージョンをダウンロードしたい際などにもバージョンIDを再利用出来ますので、全部どこかへコピペしてメモに残しておくと便利です。
③ IDとバージョンの確認方法(飛ばしてもオーケー
バージョンIDはただの数字で、実際のアプリバージョンとは異なります。
数字が若いほど古いバージョン…なので、なんとなく「このあたりかなぁ…」と判断できるとは思うのですが、ダウンロード前にバージョンを確認する方法もご紹介しておきます。
*「数字の数や並びから、バージョンを予想できる」という方は、次項のダウンロード方法まで飛ばしてしまって大丈夫です*
3-1, IDを書き換えて送信
先ほどの【p××-buy.itunes.apple.com(××は数字】という通信先部分を右クリックして『Replay > Reissue and Edit』と選択。
すると通信のコピーが出来るので、右上の画面部分にて【Raw】タブを選択。
ここに書かれている【<key>appExtVrsId</key>】の次の行…【<string>××××××</string>】の数字(×部分)を調べたいバージョンIDに書き換えてあげます。
書き換えたら、すぐ下にある緑色のボタン『Run to Completion』をクリックして、送信を行いましょう。
3-2, バージョンを確認
続いて右下の画面へ移動…。
【XML】タブを開き、ズラッと出てきた表示を少し下へスクロールしていくと…【bundleShortVersionString】と【bundleVersion】という項目が出てきます。
ここに書かれている数値が、書き換えたIDでダウンロード出来るアプリのバージョン、よく見かけるバージョンの形式となっています。
④ 好きなバージョンをダウンロードする
ここからが本番。
バージョンIDも調べましたし、IDから実際のバージョンを調べる方法も見てきました。ということで、過去バージョンのipaをダウンロードしてみましょう!
*前項の作業後、iTunesにてアプリが「ダウンロード中」で止まっている場合は再検索 or アプリの詳細ページであればアプリ名部分をクリックして再読み込みし「ダウンロード」が行える状態に戻しておいてください*
4-1, 設定を変更
メニューバーから【Rules > Automatic Breakpoints > Before Requests】を選択してチェックを付けます。
4-2, ダウンロードボタンを押す
*既に目的のアプリがダウンロード済みの場合は、iTunesのアプリ一覧から削除しておいてください*
iTunesより目的のアプリの「ダウンロード」ボタンをクリックしてください。
この場面ではダウンロードは開始されず読み込みで止まりますが、正常です。そのまま次の作業へ移ってください。
4-3, 通信先を探す
再度、通信履歴から【p××-buy.itunes.apple.com(××は数字】を探すのですが、今回はグレーの文字で【Tunnel to】と並んで書かれている場合があります。
その際は、いったんそれを選択。
続いて右側の画面から緑色のボタン『Run to Completion』をクリックしてください。これで、きちんと黒字になった通信先が出てくるはずです。
4-4, バージョンIDを書き換える
前項では出てこなかった、きちんと黒字で書かれた【p××-buy.itunes.apple.com(××は数字】を選択。
右上の画面へ移動し、【Raw】タブを選択。
ここに書かれている【<key>appExtVrsId</key>】の次の行…【<string>××××××</string>】の数字(×部分)をダウンロードしたいバージョンIDに書き換えてください。
4-5, 設定を戻す
最初に変更した設定を元に戻してあげます。
メニューバーから【Rules > Automatic Breakpoints > Disabled】を選択してチェックを切り替えましょう。
4-6, ダウンロード開始!
最後に…右側の画面から緑色のボタン『Run to Completion』をクリック! すると、iTunes側で過去バージョンのアプリがダウンロードされます。
これで好きなバージョンのアプリがiTunesのライブラリにダウンロードされます。もちろん、ipaファイルも…こんなふうに!
▲ ダウンロードが進まない場合の対処法
環境により、ダウンロードのキューには登録されるが…ダウンロードが進まないという現象が起こる場合があります。
その場合は、Fiddlerのメニューバーから【File > Capture Traffic】のチェックを外し、Fiddlerを停止させます。(再使用時はチェックを入れる)
*連続して使わない場合は、Fiddlerを終了させても可
iTunesへ戻り、キューにて【ダウンロードを一時停止】をクリック後、すぐに【ダウンロードを再開】をクリックしてあげれば、ダウンロードが進みます。
〆
といった感じで出来るようになっています。
正直、一番最初にやったときはチンプンカンプンかもしれませんが、一度成功して流れさえわかってしまえば…実はそれほど難しくなかったりします。書き換える場所も1箇所ですしね。
アップデートしたアプリに不具合が!や…昔のバージョンじゃないと!なんて事があった際には、かなり使えるテクニックかもしれないので、覚えておくと便利かも!
コメント
あ~
いいすね~
これは便利
ヒラクさんMACの言語は日本語なのに英語で説明するという‥(^_^;)
ひらくちゃんはMacの言語が日本語なのに中国語と英語で紹介してくれる…という特殊な才能を…!
凄え
ひらくちゃんの記事見てMacでも出来てちょいと嬉しかった
すげえ!
この手法でダウンロードしたアプリはiPhoneのApp storeでのアップデートができるんですかね…?
はい、もちろん正規アプリですのでアップデートも可能です。
過去のバージョンを入れたのですがAppStoreでアプデできませんでした。AppStoreで検索したら開くとなっていて最新のバージョンのような扱いになってました
すみません更新したらできました
これは後世に語り継がれる歴史に残る発見ですね
ほんと大発見! 大発明でしょう!!!
あ^〜わかりやすいんじゃあ^〜
そこまでするとね!?
いわゆる神記事
Twitter公式やLINEはアップデート毎にクソになっていくからちょうどいい
もうストアにないリジェクトされたアプリは無理ですよね
すげぇ
iTunesはどのバージョンでもいいのですか?
基本的には大丈夫だと思います。今回の記事では最新版が使用されています
これでYahooキーボードのバージョンが戻せるのか!
ありがたい。
じそ機能いらないよね
無事戻せました!
ありがとうございます。
あの機能は本当にいらないですねw
offにできたらいいのに…。
iOS 7以降、8以降対応とかになってそれ以前のiOSが置いてかれたりしてたから助かる
モンストで作成できたのですが、最新版を回避する方法はないですか?
サーバー側がバージョンアップを要求するアプリ(特にゲーム)は、サーバーを偽造するなどしない限り回避できないと思います。
チートなど、貴方がやろうとしている事をされない為の運営側の策ですよ
ご回答ありがとうございます。調べてたのですがifileでバージョン偽装できますか?
plistに記載されているバージョンで認証が行われている場合は回避できるかもしれませんが、アプリ内部にバージョン情報を組み込んでいる場合は無理ですね。
あとplist編集は自己責任で…
リジェクトじゃなくて、配信を辞めてしまったアプリとかもあるんですかねぇ。
iPhoneのアップデートの時にエラーだったので、消してもう一度インストールしようとして出来なかったアプリとかあるんですけど、そこまでアップルも残してないですよねぇ。
こんな感じでshshの発効状態偽装できたりしませんかねぇ…
これでiNicoが復活できる
本当にありがとう
これは凄いですね!
初代ipadなど使い所に困ってた機種にも役目を持たせられました^^
ありがとうございます!
ほんとそれな
最新iOSアプデ可能なディバイスならアプリもついていけど旧ディバイスは取り残されてたからね
あれ?旧OSだって対応してる最終バージョンはAppStoreからダウンロードできるんじゃ…?
アプリによって対応が無いんですよ。
一回目のダウンロードのところで詰みました。
Hostの中でbuy.itunes.apple.comを何回探しても出てきませんでした。
どこかの設定をミスってたり…というのはあるのでしょうか?
でもFiddlerのインストール後当記事に書いてあること以外の設定は触っていません。
どなたか分かる方教えて下さい…。
ブラウザ等を終了してiTunesとFiddlerだけが起動した状態で何度か試してみてもダメでしたでしょうか?
試してみましたがダメでした…
Appleも杜撰やなぁ
SSLだけじゃなく電文自体暗号化とかすればええのに
これはすげぇ!
でも広まると穴をふさがれそうだな。急ぐべきか……?
それともiTunesをアップデートしない限り使える?
これを皆さんどのように使います?
いまいち有効に使える方法が自分には無くて…
改悪されたアプリですかね
私は1つあったので早速やりました
本教學參考 weiphone 網的教學,並改編為 Mac 適用的版本,如果你用 Windows,可以參考 原始 Windows 版教學 。
Weiphoneから参考にしたようです、中国のIT分野はやはり先を行かれてますねえ
これ凄いな!
早速YouTubeとtwitterとLINEの旧バージョンインストールしてきます!
iOS5でラジオアプリがもう一度使えるようになったわ
マジサンクス
これは本当に凄いな。これ以上の言葉が見当たらない。
こういうのを待っていた
これでアプリの通信を覗いてドロップを確認したり出来るのは秘密だぞ!
グレーの文字のTunneltoをクリックしても緑色のボタンが出てこないのですが
前バージョンがiTunesに残っておらず、途方に暮れていたときに、この記事。正に神でした。
4-2, ダウンロードボタンを押す、という項目からうまくいかない。
iTunes Storeにアクセス中のまんま動かないし、4-3, 通信先を探す、の項目にある
緑色のボタンが出てこない。
それ以前はsanta氏と同じくなっているけど。
ミュージックみたいなプリインアプリは出来ないですかねぇ?
これ落とした後はサーバーをもどさなくちゃダメなんじゃないすかね…
無知でわからないのですが…_
Fiddlerを終了してしまえば問題ありません。特に何か手順を踏まなければいけない…ということはないです。
あ、そうなんですか。
そこの点が気になっていて…
ありがとうございます
いつも参考にさせてもらっています。
4-4の手順の時点でappExtVrsIdを探しましたが見つかりませんでした。
他の部分はかなり酷似していたのですが該当が見つからなかったです。
どのようにすれば見つかるでしょうか?
ちなみに証明書は無しではiTunes Storeに繋がらなかったためインストールしてあります。
以下は黒字のp××-buy.itunes.apple.comで見つけたraw文の一部です。
appleId
example@yahoo.co.jp
attempt
1
auth-mid-otp
raw文の表示が崩れたため追記します。
<?xml version=”1.0″ encoding=”UTF-8″?>
<plist version=”1.0″>
<dict>
<key>appleId</key>
<string>example@yahoo.co.jp</string>
<key>attempt</key>
<integer>1</integer>
<key>auth-mid-otp</key>
<array>
<dict>
<key>dsid</key>
Fiddlerを起動してiTunesを起動すると、エラー-1200が出てしまい、iTunesが操作できなくなりました。解決策はありますでしょうか?
【××××××】の数字(×部分)をダウンロードしたいバージョンIDに書き換えてください。
IDを書き換えるにはどうしたら良いのか分かりません。・゚・(ノД`)・゚・。・
自己解決しますたm(_ _)m
IDの書き換え方法がわかりません。
ご教授願います。
手順が正しければ書き換えることが出来るようになっていますので、単純にID部分を選択 > 削除 > 目的のIDを入力…で大丈夫です
私も、書き換えが出来ません。
右上の所で書き換えるのですよね。
ご教授願います。
editのタブのunlock editing 押したら
できたよ、今。
すみません、途中までうまくいってたのにfiddlerとiTunesを同時に機能させてるとダウンロードする時のサインインができずに結局ダウンロードできないのですがどうすれば良いのでしょうか?
返信お願いします
これって違法?
いいえ、これはAppleが用意している部分を自分で書き換えているだけですので、正規の物であり、問題は無いかと思います。
バージョンが古すぎると対応してないってことあるのかな?
ただただすごい
証明書もDLしたのですが、Fiddlerを起動させながらitunesを開いてもApp storeに接続してくれません… 最初にFiddlerをインストする時にNET4/NET2の選択肢が出てこないまま流れに沿ってインストしたのが悪かったのでしょうか…
わかる方おりましたら教えてください
>インストールした証明書は「ファイル名を指定して実行(Windowsキー + R)」から
>【certmgr.msc】を起動し、アンインストールすることが可能です。
とありますが、「インストールした証明書」というのはどれに当たりますか?
ダウンロードは出来ましたが、同期してインストールしようとすると、アイコンがインストール中でブラックアウトしたまま動きません。
インストールはどうやったらできますか?
すごい発見ですね。
ios6.1.6のipod touch 4g にsnowを入れようとしたのですが、最初のバージョンがそもそもios7からでした…
Fiddlerをダウンロードしようと思いましたが、サイトに「Fiddler for .NET2」のところが無いんです。
どうしたら出てきますか?