| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.example.smshook;
- import android.app.Activity;
- import android.content.Context;
- import android.content.IntentFilter;
- import android.os.Build;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Looper;
- import android.util.Log;
- import android.widget.Toast;
- import androidx.core.content.ContextCompat;
- import java.io.IOException;
- import de.robv.android.xposed.XC_MethodHook;
- import de.robv.android.xposed.XSharedPreferences;
- import de.robv.android.xposed.XposedBridge;
- import de.robv.android.xposed.XposedHelpers;
- import de.robv.android.xposed.callbacks.XC_LoadPackage;
- public class MessageHook {
- public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) {
- try {
- Class<?> clazz = XposedHelpers.findClass("com.google.android.apps.messaging.home.HomeActivity", lpparam.classLoader);
- XposedHelpers.findAndHookMethod(clazz, "onCreate", Bundle.class, new XC_MethodHook() {
- @Override
- protected void beforeHookedMethod(MethodHookParam param) {
- Activity activity = (Activity) param.thisObject;
- Toast.makeText(activity, "message hooked", Toast.LENGTH_LONG).show();
- XSharedPreferences pref = new XSharedPreferences("com.example.smshook", "sms_conf");
- String sender = pref.getString("sender", "1");
- String message = pref.getString("message", "1");
- Class<?> receiverClazz = XposedHelpers.findClass("com.google.android.apps.messaging.shared.receiver.SmsDeliverReceiver", lpparam.classLoader);
- // try {
- // Object receiver = receiverClazz.newInstance();
- // XposedHelpers.callMethod(receiver, "onReceive", activity.getApplicationContext(), SmsUtils.getSmsIntent(sender, message));
- // } catch (Throwable e) {
- // e.printStackTrace();
- // }
- try {
- HttpServer server = HttpServer.getInstance(9898);
- if (!server.wasStarted()) server.start();
- server.setOnRequestListener((s, m) -> {
- try {
- Object receiver = receiverClazz.newInstance();
- XposedHelpers.callMethod(receiver, "onReceive", activity.getApplicationContext(), SmsUtils.getSmsIntent(s, m));
- } catch (Throwable e) {
- e.printStackTrace();
- }
- });
- } catch (Throwable e) {
- e.printStackTrace();
- }
- }
- });
- } catch (Throwable e) {
- e.printStackTrace();
- }
- }
- }
|