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

能否通过ADB命令或伪短信APP插入短信以满足APP自动验证需求?

能否通过ADB或伪短信APP插入短信欺骗监听验证码的应用?

一、ADB命令实现方式

  • Android 8.0(API 26)及以下版本:可以通过模拟系统短信广播的方式触发应用的监听逻辑,示例命令:
    adb shell am broadcast -a android.provider.Telephony.SMS_RECEIVED --es "pdus" "<编码后的PDU内容>" --es "format" "3gpp"
    
    需注意PDU内容要正确编码对应短信发送方、验证码文本等信息,系统会广播sms_received事件,多数监听短信的应用会响应该广播。
  • Android 8.0及以上版本:系统对静态广播接收器做了限制,仅动态注册的接收器能收到SMS_RECEIVED广播。此时可通过ADB将短信写入系统收件箱数据库:
    adb shell content insert --uri content://sms/inbox --bind address:s:"+8613xxxxxxxxx" --bind body:s:"【验证码】您的验证码是123456" --bind date:i:`date +%s000`
    
    这种方式仅对读取系统短信数据库的应用有效,若应用直接监听广播则无法识别这条插入的短信。

二、伪短信APP的可行性

  • 伪短信APP的核心逻辑和ADB插入数据库类似,部分会额外模拟广播事件,但受系统权限限制:
    • Android 10(API 29)及以上版本,系统仅允许默认短信应用拥有完整的短信读写权限,第三方伪短信APP无法直接写入系统短信数据库,只能通过自身UI展示“假短信”,无法被其他应用识别。
    • 低版本系统中,若伪短信APP能获取WRITE_SMS权限并模拟广播,对于读取数据库或监听广播的应用,可实现欺骗效果;但如果应用通过无障碍服务读取通知栏验证码,伪短信通常无法触发系统通知,也就无法被自动识别。

三、核心限制

  • 系统权限管控:Android版本越高,对短信权限、广播机制的限制越严格,非默认短信应用的模拟操作成功率越低。
  • 应用监听逻辑:不同应用获取验证码的方式差异极大,读数据库、监听广播、读取通知栏这几种逻辑,对伪短信的兼容性完全不同,没有通用的欺骗方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:54:55