xiongzhu 10 ماه پیش
والد
کامیت
2fabfb4045
1فایلهای تغییر یافته به همراه33 افزوده شده و 17 حذف شده
  1. 33 17
      scripts/telephony.js

+ 33 - 17
scripts/telephony.js

@@ -109,25 +109,41 @@ function getContext() {
 
 setImmediate(() => {
     Java.perform(function () {
-        const TelephonyRegistry = Java.use('com.android.server.TelephonyRegistry')
-        TelephonyRegistry.listenWithEventList.overload(
-            'boolean',
-            'boolean',
-            'int',
-            'java.lang.String',
-            'java.lang.String',
-            'com.android.internal.telephony.IPhoneStateListener',
-            '[I',
-            'boolean'
-        ).implementation = function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
-            console.log('listenWithEventList', arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
-            arg5.onServiceStateChanged.overload('android.telephony.ServiceState').implementation = function (arg0) {
-                console.log('onServiceStateChanged', arg0)
-                return this.onServiceStateChanged(arg0)
+        const GsmCdmaPhone = Java.use('com.android.internal.telephony.GsmCdmaPhone')
+        Log.i('GsmCdmaPhone', GsmCdmaPhone)
+        GsmCdmaPhone.getServiceState.overload().implementation = function () {
+            Log.i('GsmCdmaPhone.getServiceState')
+            return this.getServiceState.apply(this, arguments)
+        }
+        GsmCdmaPhone.getState.overload().implementation = function () {
+            Log.i('GsmCdmaPhone.getState')
+            return this.getState.apply(this, arguments)
+        }
+        GsmCdmaPhone.getSignalStrengthController.overload().implementation = function () {
+            Log.i('GsmCdmaPhone.getSignalStrengthController')
+            return this.getSignalStrengthController.apply(this, arguments)
+        }
+        Java.choose('com.android.internal.telephony.GsmCdmaPhone', {
+            onMatch: function (instance) {
+                Log.i('GsmCdmaPhone', instance)
+            },
+            onComplete: function () {
+                Log.i('GsmCdmaPhone onComplete')
             }
-            return  
+        })
+
+        const PhoneInterfaceManager = Java.use('com.android.phone.PhoneInterfaceManager')
+        PhoneInterfaceManager.getSignalStrength.overload('int').implementation = function (i) {
+            Log.i('PhoneInterfaceManager.getSignalStrength')
+            return this.getSignalStrength(i)
         }
 
-        
+        const SignalStrengthController = Java.use('com.android.internal.telephony.SignalStrengthController')
+        SignalStrengthController.onSignalStrengthResult.overload('android.os.AsyncResult').implementation = function (
+            result
+        ) {
+            Log.i('SignalStrengthController.onSignalStrengthResult ' + result.result)
+            return this.onSignalStrengthResult(result)
+        }
     })
 })