![見出し画像](https://assets.st-note.com/production/uploads/images/111408087/rectangle_large_type_2_51c36d21ade17e8b66496e25174aa60f.jpeg?width=1200)
Play Integrity APIに対応したUniversal SafetyNet Fixについて その2
Play Integrity APIに関するサポートはされたが…
「SafetyNetが終わってPlay Integrityになるよ」という話から結構経ちました。公式もModもPlay Integrityに対応済みになりましたが、決して越える事ができない問題を残したままでした。こいつには3種類の認証項目(+1個は不明)が存在しており、以下になります。
MEETS_DEVICE_INTEGRITY
MEETS_BASIC_INTEGRITY
MEETS_STRONG_INTEGRITY
MEETS_VIRTUAL_INTEGRITY (こいつは不明、テスト用?)
という風にSafetyNetに似ていながらも強力な進化をしています。
で、越える事ができなかった物が「MEETS_STRONG_INTEGRITY」だったのです。GooglePlayストアの開発者モードやPlay Integrityのチェッカーアプリでもこれだけはエラーになり、「突破は絶対に無理」と言うレベルでした。(ストロング言うだけはある)
まさかの突破
Universal SafetyNet Fix ModのDisplax氏が突破を可能した物をリリースしました。実際に使ってみたところ、しっかりとオールグリーンとなり一切手を加えていない状態のAndroidに化けました。
MEETS_STRONG_INTEGRITY対応版はAndroid13以降でないと動作しないようなのでそこはご注意。
Universal SafetyNet Fix MOD(GitHub)
なんで突破できたのか?
これのカラクリは以下になります。
Pixel 2(walleye)のproduct,device,modelとfingerprintのバグを利用[google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys]
「DEVICE_INITIAL_SDK_INT」をGMS用に「O」(26)に設定
global propの 「ro.product.first_api_level」 を >= 33 / または `null`に変更、もしくは削除
とバグ技と工夫を使った回避なのでした。実に面白い。
Google側は今後この方法を対策するのでしょうか..?
【追記】
Strong対応版のUniversal SafetyNet Fix Modが削除されていました。
作者曰く「Play Integrity Fix」がリリースされてるからそっちを使ってという理由のようです。
https://github.com/chiteroman/PlayIntegrityFix