【超速GP】アカウントデータ解析

『ミニ四駆 超速グランプリ』(以下、超速GP)のアカウントデータについて解説する。

注意事項

この解説は、誤った情報を払拭し、正しい情報を得る目的で提供されるが、ゲームの利用規約に抵触する内容が含まれる。不正な手段で得られた情報を利用してゲームを有利に進めることは、他のプレイヤーとの公平さを欠くチート行為に当たるため、正しい倫理観に基づく行動を期待する。

アカウント情報の保存場所

Android OSではアプリ毎の設定情報を保存するためにPreferenceデータストレージと呼ばれる領域が用意されている。超速GPでは「/data/data/com.bandainamcoent.mini4wdgp/shared_prefs」がそれに当たり、アカウント情報は「account.xml」と「account_bak.xml」に保存されている。

効率化されたリセットマラソン(いわゆるリセマラ)では、この2つのファイルを削除することでアプリの再インストールやアセットの再ダウンロードなしにアカウント情報をリセットしていると考えられる。

なお、特定のアプリのPreferenceデータストレージに対し、他のアプリ(ファイラー等)からアクセスするにはroot権限が必要となる。

アカウント情報の中身

「account.xml」の中身は次のようなXMLとなっている。(特定を避けるため一部を加工している)

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
   <string name="2220ca1e74be1fd46b1d29472cc53f60">{&amp;quot;id&amp;quot;:1002350159,&amp;quot;password&amp;quot;:&amp;quot;2f5864f30fca7c0e36d33c274347527b&amp;quot;,&amp;quot;contact_id&amp;quot;:279090312765698133}</string>
</map>

string要素のname属性は「2220ca1e74be1fd46b1d29472cc53f60」で固定となる。同名のファイルが「/Android/data/com.bandainamcoent.mini4wdgp/files/」に存在し、UUIDが暗号化された上で書き込まれているが、どう関連するのかは不明。

string要素のテキストを抜き出して整形すると次のようになる。

{
	"id":1002350159,
	"password":"2f5864f30fca7c0e36d33c274347527b",
	"contact_id":279090312765698133
}

"id"は10桁の数字で、プレイヤーには一切表示されない。4月15日に200万DLを発表していたことから、1000000000を起点とする連番と推測される。1000000000を起点とする理由は、数字が右詰めされて変化することを防ぐためだろう。

"password"は何らかのMD5ハッシュのようだ。現在はパスワードを使用する機会はないが、アカウント連携の際に内部的に利用しているのかもしれない。

"contact_id"はランダムな18桁の数字で、これがプレイヤーに「ユーザーID」として表示される。"id"をそのまま使わない理由は、番号を類推してゲーム内SPAMを送信したり、他人のIDを騙ってアカウント復旧を依頼したりすることを防ぐためだろう。

この他、プレイヤーを識別するIDとして「レーサータグ」が存在するが、ここには記載されていない。