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编写自动化脚本
我大清亡了?
我理解你想用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()
核心原理:
- 用ADB命令截取手机屏幕
- 通过图像处理识别棋子和目标块位置
- 根据距离计算按压时间
- 用ADB模拟滑动操作
需要准备:
- 安装ADB并连接手机
- 安装OpenCV:
pip install opencv-python - 手机开启USB调试模式
关键点:
- 距离系数需要实际校准
- 目标识别算法可以优化(比如用模板匹配)
- 加入随机延迟和随机点击位置避免被检测
这个脚本只是个基础框架,实际使用需要根据你的手机分辨率调整坐标和参数。记得游戏只是娱乐,别太较真分数。
简单说就是:用图像识别算距离,ADB模拟点击。
现在貌似能识别了,刷的分会被撤下了,但是在个人最高纪录里面还是能看到…
呵呵呵,复制文章就不能编辑一下吗?然后你太过时了,block
你是来搞笑的吗? block
啥?我山顶洞亡了?
这个应该不算物理的范畴吧,那种用单片机控制机械臂按压的才算吧
都是明日黄花了。
用代码跑可以的,我试过了

