見出し画像

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)

なんで突破できたのか?

これのカラクリは以下になります。

  1. Pixel 2(walleye)のproduct,device,modelとfingerprintのバグを利用[google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys]

  2. 「DEVICE_INITIAL_SDK_INT」をGMS用に「O」(26)に設定

  3. global propの 「ro.product.first_api_level」 を >= 33 / または `null`に変更、もしくは削除

とバグ技と工夫を使った回避なのでした。実に面白い。
Google側は今後この方法を対策するのでしょうか..?

【追記】

Strong対応版のUniversal SafetyNet Fix Modが削除されていました。
作者曰く「Play Integrity Fix」がリリースされてるからそっちを使ってという理由のようです。
https://github.com/chiteroman/PlayIntegrityFix


この記事が気に入ったらサポートをしてみませんか?