spoof_gms.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. function trace(tag) {
  2. Log.e((tag || '') + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Throwable').$new()))
  3. }
  4. class Log {
  5. static TAG = '[GMS]'
  6. static Debug = false
  7. static format(...msg) {
  8. let m = []
  9. for (let i = 0; i < msg.length; i++) {
  10. if (typeof msg[i] === 'object') {
  11. m.push(msg[i] + '')
  12. } else {
  13. m.push(msg[i])
  14. }
  15. }
  16. m = m.join(' ')
  17. return m
  18. }
  19. static i(...msg) {
  20. if (!this.Debug) return
  21. console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
  22. }
  23. static w(...msg) {
  24. console.log(`\x1b[33m${this.TAG} ${this.format(...msg)}\x1b[0m`)
  25. }
  26. static e(...msg) {
  27. console.log(`\x1b[31m${this.TAG} ${this.format(...msg)}\x1b[0m`)
  28. }
  29. static s(...msg) {
  30. console.log(`\x1b[32m${this.TAG} ${this.format(...msg)}\x1b[0m`)
  31. }
  32. }
  33. Java.perform(function () {
  34. const PhoneNumberVerification = Java.use('com.google.android.gms.constellation.PhoneNumberVerification')
  35. PhoneNumberVerification.$init.overload(
  36. 'java.lang.String',
  37. 'long',
  38. 'int',
  39. 'int',
  40. 'java.lang.String',
  41. 'android.os.Bundle',
  42. 'int',
  43. 'long'
  44. ).implementation = function (str, j, i, i2, str2, bundle, i3, l) {
  45. Log.i('PhoneNumberVerification.$init', str, j, i, i2, str2, bundle, i3, l)
  46. return this.$init(str, j, i, i2, str2, bundle, i3, l)
  47. }
  48. const VerifyPhoneNumberRequest = Java.use('com.google.android.gms.constellation.VerifyPhoneNumberRequest')
  49. VerifyPhoneNumberRequest.$init.overload(
  50. //String str, long j, IdTokenRequest idTokenRequest, Bundle bundle, List list, boolean z, int i, List list2
  51. 'java.lang.String',
  52. 'long',
  53. 'com.google.android.gms.constellation.IdTokenRequest',
  54. 'android.os.Bundle',
  55. 'java.util.List',
  56. 'boolean',
  57. 'int',
  58. 'java.util.List'
  59. ).implementation = function (str, j, idTokenRequest, bundle, list, z, i, list2) {
  60. Log.e(`VerifyPhoneNumberRequest.$init(
  61. str=${str}, j=${j}, idTokenRequest=${idTokenRequest}, bundle=${bundle}, list=${list}, z=${z}, i=${i}, list2=${list2})`)
  62. return this.$init(str, j, idTokenRequest, bundle, list, z, i, list2)
  63. }
  64. VerifyPhoneNumberRequest.writeToParcel.overload('android.os.Parcel', 'int').implementation = function (parcel, i) {
  65. Log.e(`VerifyPhoneNumberRequest.writeToParcel(parcel=${parcel}, i=${i})`)
  66. return this.writeToParcel(parcel, i)
  67. }
  68. })