iPhone

他端末ログイン等で消えたLINEのトークを復元するという話

投稿日:5月 19, 2016 更新日:

移転前のブログで一度書いたことだけれど、検証も兼ねて記事を書きなおそうと思う。

そういうわけで、棚の中で埃を被っていたiPhone4さんとiPhone4sさんに協力してもらうことにする。

4は7.1.2、4sは9.0.2で両方ともJB済みである。

使うLINEアカウントはステアカナンバー2番と3番だったり。因みに10番まで存在するが1番はパスワードが分からなかったりする。

前置きはここまでにして検証結果を述べようと思う。

と、検証に移ろうとして2段階認証に引っかかった。そもそも、登録されている電話番号など、存在しないのだ。

⇒あきらめて、facebookのステアカを使うことにする。

⇒無理だった。

泣く泣くホンアカさんに消えてもらうことにした。

成功すれば、データが飛ぶことなんてない…はず。

やりたいこと

他端末ログインで消えたトークデータの復元。

ただ単に機種変更等で失敗したのなら、もう一度復元しなおせば問題ないのだが、他端末ログインしてリセットして消えてしまった場合、復元しなおしてもトーク履歴が戻ってくることはない。

因みに他端末ログインしただけなら、LINEを削除して、インストールしなおし、アカウントを入力すればデータは消えなかったはずである。

今回はやるところまでやってしまって、どうしようもなくなったトークデータを強引に書き換えて戻してしまおうという話。

前提 ~必要な物や事~

まず、直近2週間のiPhoneのバックアップデータと、LINEにアクセスできる暗号化されていない最新のiPhoneのバックアップデータが無ければならない。

前者はLINEのサーバーには2週間分のトークデータしか保存されないから、後者は自分のアカウントへのアクセス権を所持しているからだ。

まず、iPhoneのバックアップデータだが、これは他のところにコピーしておくことが望ましい。失敗して全部消えるとシャレにならないからだ。

機種変更や、クリーンインストールの場合、バックアップデータは別として生成されるが、通常のバックアップでは上書きされるので注意すること。

次に、iBackupBotPupSQLiteを使うためダウンロード&インストールをする。

必要なトークデータを取り出す

まず、現行LINEの最新バージョンは6.2.0だが、iBackupBotで探したところ、App Group Filesのcom.linecorp.line/Library/Application Support/PribateStore/***(意味のなさげな文字列)/Messagesの中に存在する。

便宜上、ここでは古いバックアップから抜かれたデータをトークデータA、新しいバックアップから抜かれたデータをトークデータBとして書くことにする。

取り出し方を既に知っている人は次の見出しまで飛ばして構わない。

まず、iBackupBotを起動すると、パソコン内のバックアップデータが読み込まれるので、左上のボックスに表示されるまで待機する。

そこで、対象のバックアップを選択して、App Group Filesのcom.linecorp.line/Library/Application Support/PribateStore/***(意味のなさげな文字列)/MessagesにあるLine.sqliteを選択してExportで任意の保存先を選択する。

line_1

これでトークデータA,Bを取り出す。

因みに、下の画像のものが表示された場合は、iTunesのバックアップ時に入力したパスワードを入力すればいい。

line_0

トークデータの編集

ここで散々悩まされたのだけれど、簡単な解決策を見つけることができた。以前の方法とは作業の対照ファイルが違うので気を付けること。

まず、トークデータBのZ_METADATAを右クリックし、テーブルのコピーをする。line_2

次に、トークデータAで適当なところを右クリックして、テーブルの貼り付けを選択する。

line_3

処理の選択が出たら、テーブルの置き換えを選択する。

line_4

置き換えが終わったら、PupSQLiteは終了してかまわない。

端末に戻す

最新のバックアップの中の、Line.sqliteの階層を開く。

そして、Import File(s)で、説明上トークデータAで表した、Line.sqliteを選択する。

line_5

因みに書いた通りにやっていれば出ることはないのだが、

line_6

もし、これが表示されたら、バックアップが暗号化されているのが原因なので、iTunesのこのバックアップを暗号化のチェックを外して、バックアップを取り直すこと。

Yes/No/Cancelのアラートが出た場合はYesを選択すれば間違いはないと思う。

終わったらLine.sqliteを選択した状態で上のRestoreを実行。

端末の再起動後LINEを起動すれば、トークがしっかりと表示されているはずだ。

できなかった場合

LINEで適当にメッセージを送り、端末の再起動。

パスコードを入力して、iTunesでバックアップを取り直す。

それを上でいうトークデータBとして、トークデータの書き換え作業からやり直せば、リストア後トークが表示されるはずだ。

作業のコツとしては、バックアップの直前に再起動すること、作業中に勝手にLINEを開かないこと。

 

執筆者:

Sponsored Link

-iPhone


  1. はろろ より:

    感謝します。本当に復元できました。
    Macを使ったため、iBackupBotとSQLiteStudioとを使ってやりました!

  2. INEL より:

    はじめまして。
    こちらに記載の方法は、LINE最新6.2.2でも通じるものでしょうか。
    PupSQLiteで最新のLine.spliteから古い方へテーブルを貼り付けたところで下記エラーが出てしまいます…
    対処法をご存じであれば、お教えいただければ幸いです。(iphone6.ios9.3.5)

    0007:SQL構文エラーまたはデータベースが見つかりません。
    テーブル:”Z_METADATA”が見つかりません。

    • straf より:

      コメントありがとうございます。
      残念ながら最新バージョンのLINEでの動作は、”未確認”となっておりますので、今日中に確認作業に入ろうと思います。
      ところで、バックアップデータのibackupbotでの大体の位置、ファイル名、分かるのであればバージョンは幾つで取ったものか、を教えていただけないでしょうか?
      バックアップが古すぎる場合、復元が出来ない、出来たとしても最新のトークデータが表示されない、という事を確認しております。

  3. INEL より:

    お返事ありがとうございます。
    バックアップデータの位置・ファイル名は、記事記載のところで変わりないです。
    またLINEのバージョンは新旧共に6.6.2、iosも共に9.3.5です。(先の6.2.2は誤りです。失礼しました。)
    旧バックアップは今月10月4日ですので、古すぎることもないと思います。

    • straf より:

      LINEのバージョン6.6.2にて確認してきましたが、報告されたエラーが出ることもなく、無事PupSQLiteでの動作を完了させることができました。
      確認していただきたいのですが、新旧ともにテーブルの数、名前は一致しているのでしょうか?
      また自身も同じエラーを見たことがあるのですが、その時はコピー元、コピー先で同じsqliteファイルを指定していました。もう一度確認してみてください。

  4. INEL より:

    検証いただきましてありがとうございます。
    テーブルの数、名前共に一致しており、記載のやり方でしているましたが、同様のエラーでした。
    そこでPupSQLiteではなく、別のGUIでZ_METADATAのUUIDを置き換えたらうまくいきました。

    画像の復元もしようとすると、また別のファイルのリストアも必要みたいですので、探り探りやってみたいと思います。
    どうもありがとうございました。

    • straf より:

      報告ありがとうございます。ソフトがダメ…ということをあるのですね…。画像は基本的にtempのような扱いなのかな?と思っております。
      トークの画像の一部はUser App Files/Line/Library/APPlication Support/PrivateStore/.*/Message Attachments/にあることを確認しました。
      参考にどうぞ。

      • keg より:

        はじめまして。
        LINEのトーク履歴を復元したく、このブログへとたどり着きました。
        こちらに記載の方法で復元を試みましたが、まずibackupbotでバックアップファイルを読み事が出来ませんでした。ios10.2.1で暗号化したバックアップだからでしょうか?
        何か良い方法がありますでしょうか?
        ご教示頂けたら幸いです。(iphone6s ios10.2.1 LINE7.0.0)

        • glanheit より:

          おっしゃる通り、ios10で暗号化したファイルがibackupbotでは読み込めないみたいですね。
          何としてでも復元したい、と言うのであれば、古い端末等に暗号化されているバックアップを復元し、そこから取り出すことは可能だと思います。

          • keg より:

            早速のご返信ありがとうございます。
            やはり現段階では対応できてないんですね。。。
            よろしければ、「古い端末等に暗号化されているバックアップを復元し、そこから取り出す」この方法について、詳しく教えていただけないでしょうか。
            お願いばかりで大変心苦しいのですが、よろしくお願いいたします。

            • glanheit より:

              古い端末等に復元し、lineをインストールしてください。(念の為)
              その後、lineを開かずに暗号化を解除した状態でバックアップを取れば、そちらから取り出すことはおそらく可能だと思われます。

              • keg より:

                ありがとうございます!
                確認させてください。
                LINEをインストールするというのは、復元で戻ったらそのままで良いのでしょうか?
                削除して再インストールすることではありませんよね?
                また、暗号化しなくてもLINEのトーク履歴はバックアップされるのでしょうか?
                よろしくお願いいたします。

                • glanheit より:

                  復元で戻ったらそのままで問題ないです。
                  ios10で余計な変更がない限り、トークデータはバックアップされます。

                  また、復元後にラインを開いてしまうと、他の端末でログインした等のメッセージが出て削除されるので開かないようにしてください。

                  • keg より:

                    はい!!
                    ありがとうございました。
                    挑戦してみます。

                    • keg より:

                      結果をご報告いたします。
                      抜き出してテーブルの置き換えまではスムーズに進みました。しかし、Line.sqliteをRestoreしようとすると、何度やってもエラーが出てしまいます。iBackupBotでエラーコード1です。
                      端末再起動、バックアップから抜き出し等やり直しましたがダメでした。

                    • glanheit より:

                      エラーコード1はiPhoneを探すがオンになっている時にでます。オフにしてみてください。

  5. keg より:

    アイホンを探すは、オフになっているんですけどね。。。
    それを一旦オンにしたあと、再度オフにしてやってみたら良いでしょうか?

    • glanheit より:

      ios10でもibackupbotの使用記事があるので出来ると思うので、どこかがおかしいのだとは思うのですが…

      一応オンにしてからオフも試してみてください。

      また、復元時に利用してるバックアップが破損している可能性もありますね…。
      もう一度最新のバックアップを取り直してやっても無理だったのでしょうか?

      • keg より:

        最新のバックアップは、一度取り直してやってみましたがダメでした。
        オンオフを試してダメだったら、もう一度最新のバックアップを取って、それでやってみようと思います。
        仮にトークデータAとなってるファイルは、端末に戻す際にはLine.sqlitの名前に戻してからで合ってますよね?

        • glanheit より:

          そうですね。
          消えたデータが入ってる方に新しいトークデータから項目をコピーして、消えたデータが入ってる方を最新のバックアップに置き換えてから、それをiPhoneに復元します。
          ファイルが違うからエラーということは無いので(そのファイルが壊れていた場合は単にラインが開けないだけ)、ibackupbotがそちらのバージョンに対応していないのか、或いは何処かを私達が見落としているか、ですね。

  6. しゅんか より:

    こちらのサイトを参考にして、復元できました!
    本当にありがとうございます。

    ちなみになんですが、自分の場合以下の
    Libraly/Preferences/jp.naver.line.plist
    jp.naver.line.plist も持ってこないとうまく友達リストの同期が取れず、
    通話ができなかったり、落ちました。

    参考:http://mr4423.blog.fc2.com/blog-entry-208.html

    • glanheit より:

      報告ありがとうございます。

      因みにその参考ブログ、移行前の私のブログです。。

  7. keg より:

    こんにちは。
    こちらの結果をご報告いたします。
    オンオフの切替、最新のバックアップの取り直し等再度やってみましたが、結果はまたエラーコード1がでて、Restoreだけ出来ませんでした。
    うーん、何がいけないのか。。。すみません。

    • glanheit より:

      一度暗号化をしてバックアップをとり、dfuモード等より復元…などをしてみるといいかもしれませんね。

  8. Satoshi より:

    質問お願いします。
    昨日、itunesでバックアップを取ってから、LINEアプリを消して、iCloudのトークのバックアップより、復元したんですけど画像等のキャッシュデータも復元したいんですがibuckupbotでitunesでバックアップを取ったLINEをrestoreしたらキャッシュ等も復元されるのでしょうか。
    宜しくお願いします。

    • glanheit より:

      私の記憶が間違いでなければ、itunesに画像等のデータは保存されません。
      サーバーに直近二週間の画像は残っていると思いますが、それだけだと思います。

  9. れe より:

    リストア時にエラーコード1がでてしまいます。
    iphoneを探すはオフなのですがなぜてじょうか。
    またはitunesから復元でも大丈夫なのでしょうか。

    • glanheit より:

      ios9までにしか対応していないようです。
      ibackupbotでバックアップデータの書き換えができるのでしたら、iTunesからの復元で出来るかもしれませんか、果たして1アプリのデータ程度に復元にかかる時間と復元に失敗した時のリスクを冒す価値が有るのかは分かりません。

      もうそこまでして復元したいのであれば、念のために今あるバックアップフォルダ自体をバックアップしてから、試すことをお勧めします。

      • れe より:

        お返事ありがとうございます
        他のかたは10.3.3で他のひとをやっているようなのですが対応してないのですかね。

        iBackupBotでファイルを入れることはできますがどうしてもリストアができません
        itunesでの復元はiphoneが取り外されたとのエラーでできないです。
        調べてみるとデータに問題があるときになるようです。
        どうにか方法はないでしょうか。。

  10. れe より:

    エラーコード1をどうにか回避して復元することができました><

    いまだにエラーコード1については謎です。
    探すをオフにしても要領も関係ないので他にあらたな対策があるのかもしれませんが
    私は別の方法でどうにか回避できました。
    本当にありがとうございました。

    • glanheit より:

      良ければその回避方法を書いておいてもらえると今後の役に立つのですが…

      此方で試行錯誤するのが1番だとは思うのですが、状況がないので…

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • Loading...



その時その時書こうと思ったものを書いていきます。
yahooブログから始まりFC2を経て今ここです。
皆様の興味がそそる内容は少ないかもしれませんが、よろしくお願いします。