x1ongzhu 1 год назад
Родитель
Сommit
57cb67a7cf

+ 74 - 0
alyx.m.Doing MT verification.json

@@ -0,0 +1,74 @@
+{
+    "g": [
+        "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxCaVxjOOhog7GEBKX9y0p-75lpzLemoqOR6wmrMtjh1y62RZl09snEiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+    ],
+    "h": null,
+    "d": {
+        "310107398912344": {
+            "a": 3,
+            "b": 2,
+            "c": 1,
+            "d": "FFFFFFFFFFFFFFFFFFFF",
+            "e": {
+                "a": "us",
+                "b": "31010",
+                "c": "lifecell",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "f": {
+                "a": "us",
+                "b": "31010",
+                "c": "CHINA MOBILE",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "g": 2,
+            "h": 1,
+            "i": 2,
+            "j": 2,
+            "k": 2,
+            "l": 1,
+            "m": 2,
+            "n": false,
+            "o": "351736062046556",
+            "p": 1,
+            "q": 0,
+            "r": [],
+            "s": [],
+            "t": [],
+            "u": [],
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    },
+    "e": {
+        "310107398912344": {
+            "a": "us",
+            "b": "us"
+        }
+    }
+}

+ 74 - 0
alyx.m.INVALID_ARGUMENT.json

@@ -0,0 +1,74 @@
+{
+    "g": [
+        "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxDrOhifHhogaJ5AYYx2cNzioa1l5qkbUsVDHzYILPaQ1P2M0BPMVkMiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+    ],
+    "h": null,
+    "d": {
+        "310107398912344": {
+            "a": 3,
+            "b": 2,
+            "c": 1,
+            "d": "FFFFFFFFFFFFFFFFFFFF",
+            "e": {
+                "a": "us",
+                "b": "31010",
+                "c": "lifecell",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "f": {
+                "a": "us",
+                "b": "31010",
+                "c": "CHINA MOBILE",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "g": 2,
+            "h": 1,
+            "i": 2,
+            "j": 2,
+            "k": 2,
+            "l": 1,
+            "m": 2,
+            "n": false,
+            "o": "351736062046556",
+            "p": 1,
+            "q": 0,
+            "r": [],
+            "s": [],
+            "t": [],
+            "u": [],
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    },
+    "e": {
+        "310107398912344": {
+            "a": "us",
+            "b": "us"
+        }
+    }
+}

+ 74 - 0
alyx.m.success.json

@@ -0,0 +1,74 @@
+{
+    "g": [
+        "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxCaVxjOOhog7GEBKX9y0p-75lpzLemoqOR6wmrMtjh1y62RZl09snEiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+    ],
+    "h": null,
+    "d": {
+        "255065007246456": {
+            "a": 3,
+            "b": 2,
+            "c": 1,
+            "d": "FFFFFFFFFFFFFFFFFFFF",
+            "e": {
+                "a": "ua",
+                "b": "25506",
+                "c": "lifecell",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "f": {
+                "a": "ua",
+                "b": "25506",
+                "c": "CHINA MOBILE",
+                "d": 0,
+                "bA": 2147483647,
+                "bB": {
+                    "b": 0,
+                    "c": [],
+                    "d": [],
+                    "e": 0,
+                    "f": false
+                },
+                "by": 0
+            },
+            "g": 2,
+            "h": 1,
+            "i": 2,
+            "j": 2,
+            "k": 2,
+            "l": 1,
+            "m": 2,
+            "n": false,
+            "o": "864929043714851",
+            "p": 1,
+            "q": 0,
+            "r": [],
+            "s": [],
+            "t": [],
+            "u": [],
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    },
+    "e": {
+        "255065007246456": {
+            "a": "ua",
+            "b": "ua"
+        }
+    }
+}

+ 56 - 0
alyx.r.Doing My verification.json

@@ -0,0 +1,56 @@
+{
+    "amlu": {
+        "a": "4c4ab9ff-19ac-4ca0-87fc-10f92d5a92fc",
+        "b": {
+            "d": "4c4ab9ff-19ac-4ca0-87fc-10f92d5a92fc"
+        },
+        "c": 7,
+        "f": "c7fGhAidums:APA91bGq-m1dTZSFsDsWtkKVQS77NctBe1Q33J5KIE-GeAm1vLv39A3Y3n5EpGxn7-eDOfVi-Pq6uI65yb6064jv2EG_lWL1AYGvY4G3an2rkwnYbRRU4e4ERR92b0b_EYoVI71LsIFb",
+        "g": [
+            "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxCaVxjOOhog7GEBKX9y0p-75lpzLemoqOR6wmrMtjh1y62RZl09snEiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+        ]
+    },
+    "list": [
+        {
+            "a": "calling_api",
+            "b": "verifyPhoneNumber",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "required_consumer_consent",
+            "b": "RCS",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "session_id",
+            "b": "49a210f8-6d5b-43d3-a418-3f105b76a464",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    ],
+    "str": "upi-mo-strict-policy-mt-priority",
+    "str2": "com.google.android.apps.messaging"
+}

+ 56 - 0
alyx.r.RESOURCE_EXHAUSTED.json

@@ -0,0 +1,56 @@
+{
+    "amlu": {
+        "a": "a3dca372-1f09-4a39-b4d6-7b0cf1bb0d92",
+        "b": {
+            "d": "a3dca372-1f09-4a39-b4d6-7b0cf1bb0d92"
+        },
+        "c": 7,
+        "f": "c7fGhAidums:APA91bGq-m1dTZSFsDsWtkKVQS77NctBe1Q33J5KIE-GeAm1vLv39A3Y3n5EpGxn7-eDOfVi-Pq6uI65yb6064jv2EG_lWL1AYGvY4G3an2rkwnYbRRU4e4ERR92b0b_EYoVI71LsIFb",
+        "g": [
+            "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxDrOhifHhogaJ5AYYx2cNzioa1l5qkbUsVDHzYILPaQ1P2M0BPMVkMiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+        ]
+    },
+    "list": [
+        {
+            "a": "calling_api",
+            "b": "verifyPhoneNumber",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "required_consumer_consent",
+            "b": "RCS",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "session_id",
+            "b": "49a210f8-6d5b-43d3-a418-3f105b76a464",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    ],
+    "str": "upi-mo-strict-policy-mt-priority",
+    "str2": "com.google.android.apps.messaging"
+}

+ 69 - 0
alyx.r.json

@@ -0,0 +1,69 @@
+{
+    "amlu": {
+        "a": "2e741a9a-31f5-4d60-b1d5-650565866870",
+        "b": {
+            "d": "2e741a9a-31f5-4d60-b1d5-650565866870"
+        },
+        "c": 7,
+        "f": "c7fGhAidums:APA91bGq-m1dTZSFsDsWtkKVQS77NctBe1Q33J5KIE-GeAm1vLv39A3Y3n5EpGxn7-eDOfVi-Pq6uI65yb6064jv2EG_lWL1AYGvY4G3an2rkwnYbRRU4e4ERR92b0b_EYoVI71LsIFb",
+        "g": [
+            "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxDrOhifHhogaJ5AYYx2cNzioa1l5qkbUsVDHzYILPaQ1P2M0BPMVkMiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+        ]
+    },
+    "list": [
+        {
+            "a": "calling_api",
+            "b": "verifyPhoneNumber",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "IMSI",
+            "b": "310107398912344",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "required_consumer_consent",
+            "b": "RCS",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "session_id",
+            "b": "862b4afd-f44c-463a-8d15-b4a06778ae96",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    ],
+    "str": "upi-mo-sms-strict",
+    "str2": "com.google.android.apps.messaging"
+}

+ 69 - 0
alyx.r.success.json

@@ -0,0 +1,69 @@
+{
+    "amlu": {
+        "a": "15d7b3c1-07ec-4f47-b18b-30d2c8d97f7f",
+        "b": {
+            "d": "15d7b3c1-07ec-4f47-b18b-30d2c8d97f7f"
+        },
+        "c": 7,
+        "f": "c7fGhAidums:APA91bGq-m1dTZSFsDsWtkKVQS77NctBe1Q33J5KIE-GeAm1vLv39A3Y3n5EpGxn7-eDOfVi-Pq6uI65yb6064jv2EG_lWL1AYGvY4G3an2rkwnYbRRU4e4ERR92b0b_EYoVI71LsIFb",
+        "g": [
+            "ya29.m.CoMCAckbWV7vs2xFpgUqsXNvigWxdBEpWwdqHztUY2IgqrJgOgrN1TOpM0_0j-4Y5jcihT5p4_Y-WinnzvgdWrvG3ZPQ_lhrNVVDZYVoa75PEwe49GNfktvwXQVbjMzdldwzlRxl0HmDO9PpkHCtcllWWPPFCBP3tsvC_7O-eLr6u2Inuxq9uun5JxX2acds2A6sud6IZLJo5Odz-W3hLE-e5H97ndP6KIEPsJ3o8RS0M1Emr-D2hQ0Ze1A1vsRuc1oHb_NzvoHefA5B-vfc_Px4LhPYfs_FZdwLNAXLWO35CABQDzWsdyeiLBLkk1hCQIidcjoSm55MVYUX2iqLskxDMG8nCxIKCAESAxCaVxjOOhog7GEBKX9y0p-75lpzLemoqOR6wmrMtjh1y62RZl09snEiAggBKithQ2dZS0FSRVNBUkFTRlFIR1gyTWlMOTFpRnJBOU8yNTd6cV8yZUoybXJB"
+        ]
+    },
+    "list": [
+        {
+            "a": "calling_api",
+            "b": "verifyPhoneNumber",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "IMSI",
+            "b": "255065007246456",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "required_consumer_consent",
+            "b": "RCS",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        },
+        {
+            "a": "session_id",
+            "b": "b3310e9e-bef8-4b8a-ab1a-8bb4ba9a83be",
+            "bA": 2147483647,
+            "bB": {
+                "b": 0,
+                "c": [],
+                "d": [],
+                "e": 0,
+                "f": false
+            },
+            "by": 0
+        }
+    ],
+    "str"="upi-mo-sms-strict",
+    "str2"="com.google.android.apps.messaging"
+}

+ 4 - 4
gen.js

@@ -12,16 +12,16 @@ function randomeNumber(length) {
 }
 
 const mcc = "310"
-const mnc = "10"
+const mnc = "240"
 const simOperator = mcc + mnc
 const networkOperator = mcc + mnc
 const simSerialNumber = randomeNumber(20)
 const iccId = simSerialNumber
-const number = "8149255276" || randomeNumber(9)
+const number = "3613267509" || randomeNumber(9)
 const imei = nodeImei.random()
-const imsi = mcc + mnc + randomeNumber(10)
+const imsi = mcc + mnc + randomeNumber(15 - (mcc + mnc).length)
 const countryIso = "us"
-const subId = "19"
+const subId = "37"
 
 console.log(`
 const mcc = "${mcc}"

+ 19 - 11
injects/all.js

@@ -8,16 +8,16 @@ const filePath = url.fileURLToPath(import.meta.url)
 const __dirname = path.dirname(filePath)
 
 const mcc = "310"
-const mnc = "010"
-const simOperator = "310010"
-const networkOperator = "310010"
-const simSerialNumber = "18118167723095689225"
-const iccId = "18118167723095689225"
-const number = "8149255276"
-const imei = "359028032842286"
-const imsi = "3100108091069016"
+const mnc = "240"
+const simOperator = "310240"
+const networkOperator = "310240"
+const simSerialNumber = "20129948795435203370"
+const iccId = "20129948795435203370"
+const number = "3613267509"
+const imei = "359514061524580"
+const imsi = "310240184530290"
 const countryIso = "us"
-const subId = "19"
+const subId = "37"
 
 class Log {
     static TAG = ""
@@ -205,9 +205,17 @@ class Tracer {
 
     _onScriptMessage(message, data) {
         if (message.type === "error") {
-            Log.e(`[PID ${this.pid}] onScriptMessage()`, message)
+            Log.e(
+                `[PID ${this.pid}] onScriptMessage()`,
+                message,
+                data ? JSON.stringify(data) : ""
+            )
         } else {
-            Log.i(`[PID ${this.pid}] onScriptMessage()`, message)
+            Log.i(
+                `[PID ${this.pid}] onScriptMessage()`,
+                message,
+                data ? JSON.stringify(data) : ""
+            )
         }
     }
 }

+ 22 - 15
injects/cpdex.js

@@ -1,6 +1,11 @@
 import { spawn, execSync } from "child_process"
+import path from "path"
+import url from "url"
 import { setTimeout } from "timers/promises"
 
+const filePath = url.fileURLToPath(import.meta.url)
+const __dirname = path.dirname(filePath)
+
 const p = spawn("adb", ["shell"])
 
 let output = ""
@@ -37,25 +42,27 @@ let exists = false
 // }
 
 // if (!exists) {
-    console.log("Pushing RcsHackTool.dex")
-    execSync("adb push ../RcsHackTool.dex /sdcard/")
-    console.log("Pushed RcsHackTool.dex")
+console.log("Pushing RcsHackTool.dex")
+execSync(`adb push ${path.resolve(__dirname, "../RcsHackTool.dex")} /sdcard/`)
+console.log("Pushed RcsHackTool.dex")
 
-    console.log("Pushing gson.dex")
-    execSync("adb push ../gson.dex /sdcard/")
-    console.log("Pushed gson.dex")
+console.log("Pushing gson.dex")
+execSync(`adb push ${path.resolve(__dirname, "../gson.dex")} /sdcard/`)
+console.log("Pushed gson.dex")
 
-    console.log("mounting /system as rw")
-    await exec("mount -o rw,remount /")
-    console.log("mounted /system as rw")
+console.log("mounting /system as rw")
+await exec("mount -o rw,remount /")
+console.log("mounted /system as rw")
 
-    console.log("Copying RcsHackTool.dex to system")
-    await exec("cp /sdcard/RcsHackTool.dex /system/framework/")
-    console.log("Copied RcsHackTool.dex to system")
+console.log("Copying RcsHackTool.dex to system")
+await exec("cp /sdcard/RcsHackTool.dex /system/framework/")
+await exec("chmod 777 /system/framework/RcsHackTool.dex")
+console.log("Copied RcsHackTool.dex to system")
 
-    console.log("Copying gson.dex to data")
-    await exec("cp /sdcard/gson.dex /data/data/com.google.android.apps.messaging/")
-    console.log("Copied gson.dex to data")
+console.log("Copying gson.dex to data")
+await exec("cp /sdcard/gson.dex /data/data/com.google.android.gms/")
+await exec("chmod 777 /data/data/com.google.android.gms/gson.dex")
+console.log("Copied gson.dex to data")
 // }
 
 p.kill()

+ 13 - 1
saved_spoof.txt

@@ -9,6 +9,18 @@ const number = "731848010"
 const imei = "864929043714851"
 const imsi = "255065007246456"
 const countryIso = "ua"
-const subId = ""
+const subId = "3"
 
 
+
+const mcc = "255"
+const mnc = "06"
+const simOperator = "25506"
+const networkOperator = "25506"
+const simSerialNumber = "31984506773600403875"
+const iccId = "31984506773600403875"
+const number = "732748985"
+const imei = "359514067240405"
+const imsi = "255061106365983"
+const countryIso = "ua"
+const subId = "21"

+ 1 - 1
scripts/sendsms.js

@@ -20,7 +20,7 @@ Java.perform(() => {
             const intent = RcsHackTool.createSmsIntent(
                 instance.mContext.value,
                 "3456",
-                "Your Messenger verification code is G-790643",
+                "Your Messenger verification code is G-684824",
             )
             // instance.mContext.value.sendBroadcast(intent)
 

+ 2 - 0
scripts/spoof.js

@@ -12,6 +12,7 @@ const subId = "{{subId}}"
 
 class Log {
     static TAG = "[SMS]"
+    static Debug = false
     static format(...msg) {
         let m = []
         for (let i = 0; i < msg.length; i++) {
@@ -25,6 +26,7 @@ class Log {
         return m
     }
     static i(...msg) {
+        if (!this.Debug) return
         console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
     }
     static w(...msg) {

+ 2 - 0
scripts/spoof1.js

@@ -12,6 +12,7 @@ const subId = "{{subId}}"
 
 class Log {
     static TAG = "[SMS]"
+    static Debug = false
     static format(...msg) {
         let m = []
         for (let i = 0; i < msg.length; i++) {
@@ -25,6 +26,7 @@ class Log {
         return m
     }
     static i(...msg) {
+        if (!this.Debug) return
         console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
     }
     static w(...msg) {

+ 84 - 72
scripts/spoof_gms.js

@@ -18,8 +18,15 @@ function trace(tag) {
     )
 }
 
+function dump(obj) {
+    const gson = Java.use("com.google.gson.Gson").$new()
+    const json = gson.toJson(obj)
+    return json
+}
+
 class Log {
     static TAG = "[GMS]"
+    static Debug = true
     static format(...msg) {
         let m = []
         for (let i = 0; i < msg.length; i++) {
@@ -33,6 +40,7 @@ class Log {
         return m
     }
     static i(...msg) {
+        if (!this.Debug) return
         console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
     }
     static w(...msg) {
@@ -47,11 +55,15 @@ class Log {
 }
 
 Java.perform(function () {
-    const GsonClass = Java.openClassFile(
-        "/data/data/com.google.android.gms/gson.dex"
-    )
-    GsonClass.load()
-    Log.s("gson class loaded")
+    try {
+        const GsonClass = Java.openClassFile(
+            "/data/data/com.google.android.gms/gson.dex"
+        )
+        GsonClass.load()
+        Log.s("gson class loaded")
+    } catch (error) {
+        Log.e("load gson error", error)
+    }
 
     const SmsManager = Java.use("android.telephony.SmsManager")
     SmsManager.getSmsManagerForSubscriptionId.overload("int").implementation =
@@ -228,7 +240,7 @@ Java.perform(function () {
     }
     SubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex.overload(
         "int"
-    ).implementation = function (s) {
+    ).implementation = function (i) {
         const _info = this.getActiveSubscriptionInfoForSimSlotIndex(i)
         Log.i(
             `SubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex: ${_info}`
@@ -396,17 +408,19 @@ Java.perform(function () {
         "int",
         "long"
     ).implementation = function (str, j, i, i2, str2, bundle, i3, l) {
-        Log.e("PhoneNumberVerification.$init")
-
         Log.e(
-            `str: ${str}, j: ${j}, i: ${i}, i2: ${i2}, str2: ${str2}, i3: ${i3}, l: ${l}`
+            `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(`key: ${key}, value: ${bundle.get(key)}`)
+            Log.i(
+                `PhoneNumberVerification(key: ${key}, value: ${bundle.get(
+                    key
+                )})`
+            )
         }
 
         return this.$init(str, j, i, i2, str2, bundle, i3, l)
@@ -452,16 +466,22 @@ Java.perform(function () {
         str8,
         i6
     ) {
-        Log.i("SetAsterismConsentRequest.$init")
-
         Log.i(
-            `i: ${i}, i2: ${i2}, i3: ${i3}, iArr: ${iArr}, l: ${l}, i4: ${i4}, i5: ${i5}, str: ${str}, str2: ${str2}, str3: ${str3}, str4: ${str4}, str5: ${str5}, str6: ${str6}, str7: ${str7}, str8: ${str8}, i6: ${i6}`
+            `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(`key: ${key}, value: ${bundle.get(key)}`)
+            Log.i(
+                `SetAsterismConsentRequest.Bundle(key=${key}, value=${bundle.get(
+                    key
+                )})`
+            )
         }
 
         return this.$init(
@@ -493,8 +513,9 @@ Java.perform(function () {
         "java.lang.String",
         "java.lang.String"
     ).implementation = function (i, str, str2) {
-        Log.i("SetAsterismConsentResponse.$init")
-        Log.i(`i: ${i}, str: ${str}, str2: ${str2}`)
+        Log.i(
+            `SetAsterismConsentResponse.$init(i=${i}, str=${str}, str2=${str2})`
+        )
         return this.$init(i, str, str2)
     }
 
@@ -668,33 +689,28 @@ Java.perform(function () {
 
     const alja = Java.use("alja")
     alja.u.overload("java.lang.Exception").implementation = function (e) {
-        Log.i("alja.u", JSON.stringify(e))
-        Log.i(Object.keys(e))
-
-        const b = e.b.value
-        Log.i("b", b.toString())
+        Log.e(`"alja.u(e=${dump(e)})`)
         return this.u(e)
     }
 
-    const albf = Java.use("albf")
-    albf.h.overload("java.lang.String", "[Ljava.lang.Object;").implementation =
-        function (str, objArr) {
-            Log.e("albf.h", str, objArr)
-            if (str.includes("Verification failed")) {
-                trace()
-            }
-            return this.h(str, objArr)
-        }
+    // const albf = Java.use("albf")
+    // albf.h.overload("java.lang.String", "[Ljava.lang.Object;").implementation =
+    //     function (str, objArr) {
+    //         Log.e("albf.h", str, objArr)
+    //         if (str.includes("Verification failed")) {
+    //             trace()
+    //         }
+    //         this.h(str, objArr)
+    //     }
 
     const alyx = Java.use("alyx")
     const fixf = Java.use("fixf")
     alyx.a.overload("fixf").implementation = function (fixf) {
-        Log.i("alyx.a", fixf)
         const b = this.a(fixf)
         const keySet = b.keySet().toArray()
         for (let i = 0; i < keySet.length; i++) {
             const key = keySet[i]
-            Log.w(`key: ${key}, value: ${b.get(key)}`)
+            Log.w(`alyx.a::key: ${key}, value: ${b.get(key)}`)
         }
         return b
     }
@@ -702,53 +718,49 @@ Java.perform(function () {
         amlu,
         list
     ) {
-        Log.e("alyx.m", amlu, list)
-        for (let i = 0; i < list.size(); i++) {
-            Log.e(`list[${i}]=${list.get(i)}`)
-        }
         const a = amlu._a.value // string
-        Log.e(`\ta=${a}`)
         const f = amlu.f.value // string
-        Log.e(`\tf=${f}`)
         const g = amlu.g.value // list
-        for (let i = 0; i < g.size(); i++) {
-            Log.e(`\tg[${i}]=${g.get(i)}`)
-        }
-
         const h = amlu.h.value // list
-        if (h) {
-            for (let i = 0; i < h.size(); i++) {
-                Log.e(`\th[${i}]=${h.get(i)}`)
-            }
-        }
-
         const HashMap = Java.use("java.util.HashMap")
         const d = Java.cast(amlu.d.value, HashMap) // map
-        const keySet = d.keySet().toArray()
-        for (let key of keySet) {
-            Log.e(`\td[${key}]=${d.get(key)}`)
-            Log.e(Object.getOwnPropertyNames(d.get(key).__proto__).join("\n"))
-            const gson = Java.use("com.google.gson.Gson").$new()
-            const json = gson.toJson(d.get(key))
-            Log.e(json)
-        }
-
         const e = Java.cast(amlu.e.value, HashMap) // map
-        const keySet2 = e.keySet().toArray()
-        for (let key of keySet2) {
-            Log.e(`\te[${key}]=${e.get(key)}`)
-        }
-        return this.m(amlu, list)
-    }
 
-    const Bundle = Java.use("android.os.Bundle")
-    Bundle.getInt.overload("java.lang.String").implementation = function (str) {
-        Log.e(`Bundle.getInt: ${str}`)
-        if (str === "sim_slot_index") {
-          
-            trace()
-            return 0
-        }
-        return this.getInt(str)
+        Log.e(`alyx.m(
+            a=${a}, 
+            f=${f}, 
+            g=${g ? dump(g) : null}, 
+            h=${h ? dump(h) : null}, 
+            d=${d ? dump(d) : null}, 
+            e=${e ? dump(e) : null})`)
+
+        return this.m(amlu, list)
     }
+    alyx.r.overload(
+        "amlu",
+        "java.util.List",
+        "java.lang.String",
+        "java.lang.String"
+    ).implementation = function (amlu, list, str, str2) {
+        Log.e(`alyx.r(
+            amlu=${dump(amlu)}, 
+            list=${dump(list)}, 
+            str=${str}, 
+            str2=${str2})`)
+        return this.r(amlu, list, str, str2)
+    }
+
+    // const ftit = Java.use("ftit")
+    // const ftgv = Java.use("ftgv")
+    // ftit.h.overload("ftgv").implementation = function (ftgvVar) {
+    //     try {
+    //         Log.e(`ftit.h(
+    //             this=${dump(this)},
+    //             ftgvVar=${dump(ftgvVar)})`)
+    //         return Java.use("ftiu").$new(this, ftgvVar)
+    //     } catch (e) {
+    //         e.printStackTrace()
+    //         Log.e(`ftit.h exception: ${e}`)
+    //     }
+    // }
 })