[Splatoon2] ikaWidget2のバックアップデータを解析してみる

はじめに

今回はSplatoon2の戦歴を残せるスマホ用アプリ「ikaWidget2」のバックアップデータを解析してみようと思います。

Q. ikaWidget2とは?
A. 有志の方がSplatoon2のAPIを使用し本来であれば50戦までしか戦歴を残せない所を、端末内にデータを保存することで50戦以上残すことができるようになるアプリ。めちゃ便利。AndroidかiOSに対応。

バックアップデータを解析しようと思った理由は、Splat2APIのiksm_sessionを叩くときにfというパラメータの生成が必要になり、いちいちセッションハイジャックしてやるのも面倒になったため。
ikaWidget2はこのfパラメータの生成に成功しているので、どうせなら初期から取っていたデータを覗き見てみようという理由から、今回解析してみようと思います。

[注意] 解析する際は自己責任でお願いします。

解析を行ってみる

1. バックアップを取る

まず初めにバックアップをアプリで生成します。
私はAndroid端末しか所持していないためiOS版での確認ができていません。コメント欄でこっそりと教えていただけると幸いです。

まず初めに、アプリ内「HOME」にある統計からバックアップを選択。
すると端末内のrootディレクトリ内のikaWidgetというフォルダの中にファイル(Username-YYYYMMHH-hhmm.ikax)が生成されています。

このファイルをパソコンへコピーします。コピーの方法は省略しますので、各自検索をしてください。

2. 拡張子を変更し、解凍する

ikaxファイルは圧縮されているだけなので、拡張子を「.ikax」から「.zip」へ変更します。
変更後、解凍すると「info.json」と「stats.realm」の二つのファイルが出てきます。

info.jsonはユーザー情報が記録されたjsonファイルのため使用しません。
stats.realmが今回の目的のファイルのため、こちらを絶対パス内に2バイト文字が含まれていないフォルダにコピーしてください。

3. RealmStudioをインストールする

今回使用するrealmファイルはバイナリファイルで、jsonのようにテキストエディタで開くことができないため専用のRealmStudioをインストールします。

ダウンロードして開くだけで自動的にインストールが開始されます。待ちましょう。

Q. realmとは?
A. モバイルアプリに特化したNoSQL(データベース)

4. 「stats.realm」を開く

RealmStudioが起動したら「open realm file」を選択し、先程別フォルダにコピーしたstats.realmを開きます。

ここで、絶対パス内に2バイト文字が含まれているとエラーを吐かれます。エラーを吐かれたら素直に別フォルダに移しましょう。

また、Cドライブ直下にフォルダを生成した場合などは管理者権限がないとエラーを吐かれるので、RealmStudioを管理者権限ありの状態で起動しましょう。

5. 実際にデータを覗いてみる

ウィンドウ横にあるClass一覧から自分のデータを閲覧することができます。

Coop(サーモンラン)のデータでは、危険度なども細かく記録されているようです。

おわりに

RealmはNode.js用のモジュールもあるようなので、これらのデータをjsonへ復元したり、データの統計を取ってみたりするのも面白そうです。

ここまでお読みいただきありがとうございました。また他の記事でお会いしましょう。

コメント

タイトルとURLをコピーしました