きっかけ
現在筆者は中東に滞在しているのだが,そのうち日本に帰国するためどうしてもおサイフケータイ機能付きのスマートフォンが欲しかった。だが,どうしてもiPhoneを受け付けない体であるので,Felicaチップが搭載されているが無効化されているという噂のGoogle Pixelを購入してFelicaを使用可能にしようと試みた。
以降の記述はすべて夢の中の話です。実行してどのような結果になろうとも一切責任を負いません。
環境
Google Pixel 6 GB7N6, Windows11, adb環境
やりかたその1
Root化+Magisk module導入によってFelica configの値を書き換える+おサイフケータイアプリへの端末情報を偽造し,日本モデルの型番だと誤認させるという方法。
おそらくその2より安全。
Rootを解除,BootloaderをロックするとGoogleWalletは起動可能,PASMO,SUICAの追加+外部アプリでの読み取りも可能だが,おサイフケータイアプリは海外モデルとして使用不可になる。
手順
- Magisk経由でroot化を行う。
- Githubの有志が提供しているmoduleを導入する。
- Play Integrity FixやShamikoなどを使って Play Integrityのチェックをクリアする。
詳しいやり方は参考文献
ただし,筆者の環境ではPlay IntegrityのStrongを通さないと起動しないプログラム(主に現地政府系のアプリ)があり,現状のいつkeybox.xmlが対策されるかわからない状態では不安だったため,断念。
やりかたその2
Root化+devinfo.imgを書き換えし,完全に日本モデルと同様にしてしまうという方法。
海外版と日本版に(ほぼ)物理的な違いがないPixelだからこそできる荒業。
ddコマンド+suで改変したimgファイルを書き込むため,一つ間違えると完全に文鎮化しかねない。
LinuxとAndroidの知識が多少なりともないと厳しい。
Rootを解除,Bootloaderをロックしても(観測できる限りは)完全に日本モデルとして使用可能。
手順
1.Root化する。
2.adb経由で/sdcard内のdevinfo.imgを持ってくる。
adb shell
su
dd if=/dev/block/by-name/devinfo of=/sdcard/devinfo.img
shellから抜け出したあと,
adb pull /sdcard/devinfo.img
を実行する。
3.pullされたdevinfo.imgをHexエディタに投入し,型番を書き換える。
おそらくF0行にある。
自分自身の持っているPixelの型番で検索して,
GR1YHに書き換える。ここはGSMArenaなどで検索して他地域のものに書き換えることも可能である。
3.adb経由でdevinfo.imgを書き換える。
adb push ./devinfo_modified.img /sdcard/
adb shell
su
dd if=/sdcard/devinfo_modified.img of=/dev/block/by-name/devinfo
4.再起動
5.必要なアプリ類を導入する。
1 | 2 |
---|---|
おサイフケータイ アプリ | com.felicanetworks.mfm.main |
モバイルFeliCaクライアント | com.felicanetworks.mfc |
おサイフケータイ 設定アプリ | com.felicanetworks.mfs |
Google Play services for payments | com.google.android.gms.pay.sidecar |
6.(必要ならば)Android Flash ToolでRomを焼き直してbootloaderをロックする。
やりかたその1で述べたように,Root状態のままこれらのサービスを使おうとするとPlay Integrityを通す必要がある。この辺りの状況はすぐに移り変わるので各自検索を願いたい。
備忘録
手順4を終えた後なぜかadbが全く通らなくなり,どうしようもなくなったため仕方なくファクトリーリセットをかけると再びadbが通るようになった。理由をご存じのかたはぜひご教授願います。
参考