python读取手机短信信息_python 自动获取手机短信验证码

时间:2024-10-08 11:20:05

需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/ 里(外部SD卡也可以知道能通过adb命令访问到):

/*****

......

try {

long timestamp = ();

String time = formatter.format(new Date());

String fileName = "";

if (().equals()) {

String path = ()+"/";

***

if (!()) {

();

}

*

((time + " " + s).getBytes());

();

}

return fileName;

} catch (Exception e) {

("sms", "an error occured while writing file...", e);

}

return null;

}

*******/

android脚本好了,签名+打包,装入手机就好了,安装实验一下:

自动生成了一个 再打开看一下内容,能正常记录,下面用写一个python脚本截取最后一段的最后四个数字就可以了

通过cmd

adb shell cat /sdcard/

成功显示文件里的内容

2017-05-16-16-39-27 您好,你的短信验证码为7959

2017-05-16-16-40-09 您好,你的短信验证码为6474

2017-05-16-16-45-22 您好,你的短信验证码为4664

2017-05-16-17-19-47 您好,你的短信验证码为3320

2017-05-16-17-21-20 您好,你的短信验证码为3146

2017-05-16-17-27-40 您好,你的短信验证码为2709

2017-05-16-17-27-43 您好,你的短信验证码为9421

2017-05-16-17-27-46 您好,你的短信验证码为5035

2017-05-16-17-27-48 您好,你的短信验证码为2212

2017-05-16-17-27-49 您好,你的短信验证码为5745

2017-05-16-17-28-28 您好,你的短信验证码为5409

2017-05-16-17-28-32 您好,你的短信验证码为1176

2017-05-16-17-28-33 您好,你的短信验证码为8708

2017-05-16-17-28-35 您好,你的短信验证码为3997

2017-05-16-17-28-37 您好,你的短信验证码为3567

2017-05-16-18-45-57 您好,你的短信验证码为3060

在python脚本中再构个函数就解决了

def getSma():

adb = "adb shell cat /sdcard/"

smsLog = (adb).readlines()

smscode = smsLog[-1][-6:-2]

return smscode

OK! 脚本登陆RUN,步骤到点击发送验证码之后成功获取并自动填入,短信验证码成功解决,提升了脚本的执行效率和自动化覆盖率!  下周再开始解决图形验证码自动识别问题, 之前用UFT试过识别率太低,这款商业软件越做越不值钱了. 咱不再去求人,自己解决,活着就是为了折腾.