You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在模拟器中监控Android应用发送的短信 适配恶意APK场景

Android恶意APK短信发送行为监控方案

完全可以实现对该恶意应用短信发送行为的监控,以下三种方案均适配应用需要获取默认短信权限才能运行的要求,不会触发应用闪退:

方案1:应用进程内Hook(最便捷,优先推荐)

基于Xposed/LSPosed框架实现,无需修改系统底层逻辑:

  • 准备已获取Root权限的Android模拟器(推荐Android 8~10版本,兼容性最高),安装LSPosed框架
  • 编写极简Xposed模块,Hook目标应用进程下android.telephony.SmsManager类的所有短信发送相关方法,包括sendTextMessage、sendMultipartTextMessage、sendTextMessageWithoutPersisting等
  • Hook逻辑不需要拦截短信发送,仅需在方法调用时打印入参中的收件人号码、短信内容、发送时间即可,完全不会干扰应用的正常运行与权限检测
  • 注意不要直接监听系统短信广播:恶意应用作为默认短信应用拥有最高广播优先级,可调用abortBroadcast()截断广播,直接监听系统广播会出现数据遗漏

核心Hook代码示例:

XposedHelpers.findAndHookMethod("android.telephony.SmsManager", lpparam.classLoader,
    "sendTextMessage", String.class, String.class, String.class, PendingIntent.class, PendingIntent.class,
    new XC_MethodHook() {
        @Override
        protected void beforeHookedMethod(MethodHookParam param) {
            String recipient = (String) param.args[0];
            String content = (String) param.args[2];
            XposedBridge.log("发送短信监控:收件人=" + recipient + ",内容=" + content + ",时间戳=" + System.currentTimeMillis());
        }
    });

方案2:系统短信数据库监听(无注入,规避反Hook检测)

安卓所有短信操作最终都会落地到系统短信数据库,即使应用删除记录也能捕获到写入痕迹:

  • 通过Root权限监听系统短信数据库路径/data/data/com.android.providers.telephony/databases/telephony.db的写入操作
  • 应用触发短信发送时,系统会先向库内sms表插入一条类型为2(已发送)的完整记录,后续恶意应用执行删除操作前,你已经可以通过实时监听拿到所有数据
  • 该方案不需要对目标应用做任何注入操作,完全规避应用的反调试、反Hook检测逻辑

方案3:RIL层底层监控(适配无Root场景)

如果使用无Root模拟器,可以修改系统无线接口层逻辑实现监控:

  • 定制Android模拟器镜像,修改rild(无线接口层守护进程)的处理逻辑,所有从框架层下发的短信发送请求都会经过该层处理
  • 在rild层新增日志打印逻辑,直接输出所有短信发送的收件人、内容参数,该层监控完全对上层应用透明,目标应用完全感知不到监控行为

测试注意事项

  • 运行恶意应用前先备份模拟器快照,避免应用对环境造成不可逆修改
  • 先按照应用要求授予默认短信应用权限,再启动监控逻辑,避免应用主动闪退
  • 若应用存在反调试检测,可搭配Frida框架先Hook屏蔽反调试逻辑后再执行监控

内容的提问来源于stack exchange,提问作者dyofficial90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:09:02