| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- function trace(tag) {
- Log.e((tag || '') + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Throwable').$new()))
- }
- class Log {
- static TAG = '[GMS]'
- static Debug = false
- static format(...msg) {
- let m = []
- for (let i = 0; i < msg.length; i++) {
- if (typeof msg[i] === 'object') {
- m.push(msg[i] + '')
- } else {
- m.push(msg[i])
- }
- }
- m = m.join(' ')
- return m
- }
- static i(...msg) {
- if (!this.Debug) return
- console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
- }
- static w(...msg) {
- console.log(`\x1b[33m${this.TAG} ${this.format(...msg)}\x1b[0m`)
- }
- static e(...msg) {
- console.log(`\x1b[31m${this.TAG} ${this.format(...msg)}\x1b[0m`)
- }
- static s(...msg) {
- console.log(`\x1b[32m${this.TAG} ${this.format(...msg)}\x1b[0m`)
- }
- }
- Java.perform(function () {
- const aoks = Java.use('aoks')
- aoks.$init.overload('aokt', 'android.os.Handler').implementation = function (aokt, handler) {
- Log.i(`${this.a.value}`)
- return this.$init(aokt, handler)
- }
- aoks.d.overload('boolean', 'java.util.Map').implementation = function (b, map) {
- Log.e(`${map.keySet().toArray()}, ${this.a.value._f.value}`)
- // Log.e(`${map.get('UPI_FEATURES_ENABLED')}`)
- // Log.e(`${map.get('515039672404610')}`)
- // Java.cast(map.get('515039672404610'), Bundle).putString('IMSI', '515039672404610')
- return this.d(b, map)
- }
- const Reiceiver = Java.use('com.google.android.gms.constellation.util.OnSyncCompletedListener$Receiver')
- Reiceiver.onReceiveResult.overload('int', 'android.os.Bundle').implementation = function (i, bundle) {
- Log.e(`i=${i}, ${bundle}`)
- return this.onReceiveResult(i, bundle)
- }
- const aokt = Java.use('aokt')
- aokt.$init.overload(
- 'android.content.Context',
- 'aoli',
- 'com.google.android.gms.constellation.VerifyPhoneNumberRequest',
- 'java.lang.String',
- 'aoiy'
- ).implementation = function (context, aoli, request, str, aoiy) {
- Log.e(`${request.a.value} ${request.b.value}`)
- trace('[aokt]')
- return this.$init(context, aoli, request, str, aoiy)
- }
- aokt.c.overload(
- 'com.google.android.gms.constellation.VerifyPhoneNumberRequest',
- 'com.google.android.gms.constellation.VerifyPhoneNumberResponse',
- 'int'
- ).implementation = function (request, response, i) {
- Log.e(`${request.a.value} ${request.b.value}`)
- return this.c(request, response, i)
- }
- const BaseBundle = Java.use('android.os.BaseBundle')
- BaseBundle.getInt.overload('java.lang.String', 'int').implementation = function (key, i) {
- const value = this.getInt(key, i)
- // Log.e(`[BaseBundle]${key}, ${i} -> ${value}`)
- if (key == 'sim_slot_index') {
- Log.e(`[BaseBundle]sim_slot_index`)
- return 0
- }
- return this.getInt(key, i)
- }
- const PhoneNumberVerification = Java.use('com.google.android.gms.constellation.PhoneNumberVerification')
- PhoneNumberVerification.$init.overload(
- 'java.lang.String',
- 'long',
- 'int',
- 'int',
- 'java.lang.String',
- 'android.os.Bundle',
- 'int',
- 'long'
- ).implementation = function (str, j, i, i2, str2, bundle, i3, l) {
- Log.e(`PhoneNumberVerification.$init(str=${str}, j=${j}, i=${i}, i2=${i2}, str2=${str2}, i3=${i3}, l=${l}`)
- // print bundle
- const keySet = bundle.keySet().toArray()
- for (let i = 0; i < keySet.length; i++) {
- const key = keySet[i]
- Log.i(`PhoneNumberVerification(key: ${key}, value: ${bundle.get(key)})`)
- }
- return this.$init(str, j, i, i2, str2, bundle, i3, l)
- }
- const VerifyPhoneNumberRequest = Java.use('com.google.android.gms.constellation.VerifyPhoneNumberRequest')
- VerifyPhoneNumberRequest.$init.overload(
- //String str, long j, IdTokenRequest idTokenRequest, Bundle bundle, List list, boolean z, int i, List list2
- 'java.lang.String',
- 'long',
- 'com.google.android.gms.constellation.IdTokenRequest',
- 'android.os.Bundle',
- 'java.util.List',
- 'boolean',
- 'int',
- 'java.util.List'
- ).implementation = function (str, j, idTokenRequest, bundle, list, z, i, list2) {
- Log.e(`VerifyPhoneNumberRequest.$init(
- str=${str}, j=${j}, idTokenRequest=${idTokenRequest}, bundle=${bundle}, list=${list}, z=${z}, i=${i}, list2=${list2})`)
- // print bundle
- const keySet = bundle.keySet().toArray()
- for (let i = 0; i < keySet.length; i++) {
- const key = keySet[i]
- Log.i(`VerifyPhoneNumberRequest.Bundle(key=${key}, value=${bundle.get(key)})`)
- }
- return this.$init(str, j, idTokenRequest, bundle, list, z, i, list2)
- }
- const SetAsterismConsentRequest = Java.use('com.google.android.gms.asterism.SetAsterismConsentRequest')
- SetAsterismConsentRequest.$init.overload(
- 'int',
- 'int',
- 'int',
- '[I',
- 'java.lang.Long',
- 'int',
- 'android.os.Bundle',
- 'int',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'java.lang.String',
- 'int'
- ).implementation = function (
- i,
- i2,
- i3,
- iArr,
- l,
- i4,
- bundle,
- i5,
- str,
- str2,
- str3,
- str4,
- str5,
- str6,
- str7,
- str8,
- i6
- ) {
- Log.i(
- `SetAsterismConsentRequest.$init(
- i=${i}, i2=${i2}, i3=${i3}, iArr=${iArr}, l=${l},
- i4=${i4}, bundle=${bundle}, i5=${i5}, str=${str},
- str2=${str2}, str3=${str3}, str4=${str4}, str5=${str5},
- str6=${str6}, str7=${str7}, str8=${str8}, i6=${i6})`
- )
- // print bundle
- const keySet = bundle.keySet().toArray()
- for (let i = 0; i < keySet.length; i++) {
- const key = keySet[i]
- Log.i(`SetAsterismConsentRequest.Bundle(key=${key}, value=${bundle.get(key)})`)
- }
- return this.$init(i, i2, i3, iArr, l, i4, bundle, i5, str, str2, str3, str4, str5, str6, str7, str8, i6)
- }
- const SetAsterismConsentResponse = Java.use('com.google.android.gms.asterism.SetAsterismConsentResponse')
- SetAsterismConsentResponse.$init.overload('int', 'java.lang.String', 'java.lang.String').implementation = function (
- i,
- str,
- str2
- ) {
- Log.i(`SetAsterismConsentResponse.$init(i=${i}, str=${str}, str2=${str2})`)
- return this.$init(i, str, str2)
- }
- const EventManager = Java.use('com.google.android.gms.constellation.EventManager')
- EventManager.onHandleIntent.overload('android.content.Intent').implementation = function (intent) {
- Log.i('EventManager.onHandleIntent(intent)')
- return this.onHandleIntent(intent)
- }
- })
|