Python实现微信跳一跳物理外挂:教你用Python编写自动化脚本

微信跳一跳出物理外挂了,教你用 Python 来玩微信跳一跳,最高可跳 4000 分。这里为大家整理了一份完整的使用教程,让你轻轻松松那高分!

1、下载程序:打开下面的链接,点右侧 clone or download,再点 download zip ; github.com/wangshub/wechat_jump_game 2、解压 zip 文档,再把文件夹挪到桌面,打开文件夹,你会看到很多东东: 3、打开 mac 系统自带的“终端”,这是一个命令行应用,win 用 cmd 就可以了吧; 4、通过终端进入文件夹,命令行如下: cd ~/Decktop/wechat_jump_game-master 5、安装 pip:在终端输入 sudo easy_install pip 再回车,可能要输入密码; 6、安装各种依赖程序:在终端输入 pip install -r requirements.txt 再回车,系统会自动安装; requirements.txt 就是文件夹里的一个 txt 文档,里面写着会自动安装哪些程序; pip 就是第 5 步安装的程序,如果没安装,pip install -r requirements.txt 将无法执行; 7、安装 adb:打开下面的链接查看,有 3 种方法,建议用第二种,是英文,如果你不懂英文可以百度中文教程; https://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x 8、打开安卓手机的设置 - 开发者选项 - USB 调试(如果没有开发者选项,可百度打开开发者选项的方法),用 USB 线连接手机和电脑,手机可能会弹出对话框,点同意; 9、在终端输入 adb devices,如果看到下面这种信息,说明 adb 已正确安装,也说明电脑成功检测到手机; 10、打开微信跳一跳点开始,在终端输入 python wechat_jump_auto.py 点回车,游戏就会自动开始~ 请根据手机分辨率运行相应的 *.py 文件;

iOS 手机操作步骤 运行安装好的 WebDriverAgentRunner 将手机点击到《跳一跳》小程序界面 运行脚本。有两种模式可供选择:手动辅助跳 和 自动连续跳 手动辅助跳 命令行运行 python3 wechat_jump_iOS_py3.py 依次点击弹出的窗口中的起始位置和目标位置,会自动计算距离后起跳 根据起跳的精准情况更改 python3 wechat_jump_iOS_py3.py 中的 time_coefficient 参数,直到获得最佳取值 自动连续跳 拷贝./config/iPhone 目录下对应的设备配置文件,重命名并替换到./config.json 命令行运行 python3 wechat_jump_auto_iOS.py 会自动计算坐标并连续起跳,根据起跳的精准情况更改./config.json 中的 press_coefficient 参数,直到获得最佳取值 分辨率不同,配置文件也不一样,具体看 config 这个文件夹。


Python实现微信跳一跳物理外挂:教你用Python编写自动化脚本

9 回复

我大清亡了?


我理解你想用Python写一个自动化脚本来玩微信跳一跳。这个想法挺有意思的,但需要明确一点:这本质上是一个图像识别+模拟点击的自动化程序。下面是一个基于OpenCV和ADB的基本实现思路:

import cv2
import numpy as np
import subprocess
import time
import random

def get_screenshot():
    """通过ADB获取手机屏幕截图"""
    subprocess.call('adb shell screencap -p /sdcard/screenshot.png', shell=True)
    subprocess.call('adb pull /sdcard/screenshot.png', shell=True)
    return cv2.imread('screenshot.png')

def find_player_and_target(img):
    """识别棋子和目标位置"""
    # 简化版:假设棋子底部中心位置固定
    player_x = 540  # 示例坐标
    player_y = 1600
    
    # 找目标块(简单颜色阈值方法)
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    lower = np.array([0, 0, 200])
    upper = np.array([180, 30, 255])
    mask = cv2.inRange(hsv, lower, upper)
    
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    if contours:
        cnt = max(contours, key=cv2.contourArea)
        x, y, w, h = cv2.boundingRect(cnt)
        target_x = x + w//2
        target_y = y
        return (player_x, player_y), (target_x, target_y)
    return None

def calculate_distance(start, end):
    """计算两点距离"""
    return np.sqrt((end[0]-start[0])**2 + (end[1]-start[1])**2)

def jump(distance):
    """模拟按压时间(需要校准)"""
    press_time = distance * 1.35  # 这个系数需要根据实际情况调整
    cmd = f'adb shell input swipe 500 500 500 500 {int(press_time)}'
    subprocess.call(cmd, shell=True)

def main():
    print("开始运行...")
    time.sleep(2)
    
    while True:
        img = get_screenshot()
        positions = find_player_and_target(img)
        
        if positions:
            player_pos, target_pos = positions
            dist = calculate_distance(player_pos, target_pos)
            print(f"距离: {dist:.1f}")
            jump(dist)
            
        time.sleep(1.5 + random.uniform(0, 0.3))  # 随机延迟避免检测

if __name__ == '__main__':
    main()

核心原理:

  1. 用ADB命令截取手机屏幕
  2. 通过图像处理识别棋子和目标块位置
  3. 根据距离计算按压时间
  4. 用ADB模拟滑动操作

需要准备:

  • 安装ADB并连接手机
  • 安装OpenCV:pip install opencv-python
  • 手机开启USB调试模式

关键点:

  • 距离系数需要实际校准
  • 目标识别算法可以优化(比如用模板匹配)
  • 加入随机延迟和随机点击位置避免被检测

这个脚本只是个基础框架,实际使用需要根据你的手机分辨率调整坐标和参数。记得游戏只是娱乐,别太较真分数。

简单说就是:用图像识别算距离,ADB模拟点击。

现在貌似能识别了,刷的分会被撤下了,但是在个人最高纪录里面还是能看到…

呵呵呵,复制文章就不能编辑一下吗?然后你太过时了,block

你是来搞笑的吗? block

啥?我山顶洞亡了?

这个应该不算物理的范畴吧,那种用单片机控制机械臂按压的才算吧

都是明日黄花了。

用代码跑可以的,我试过了

回到顶部