FluidStep-Simulator

FluidStep-Simulator
AG666流体计步模拟器 (FluidStep Simulator)
由于fakelocation对云运动增加了黑名单,只能降级使用1205左右的版本以及劫持域名到自己的服务器才能正常使用,但是不能模拟步频,市面上没有一款软件能模拟步频,无奈之下自己搓了一个LSPosed模块,通过模拟真实的加速度传感器数据来生成步数。
功能特点
- ✅ 真实模拟:生成接近真实人体步行的三轴加速度数据
- ✅ 可调步频:支持60-180步/分钟的步频设置
- ✅ 配置界面:友好的图形化配置界面
- ✅ 通用兼容:适用于所有读取加速度传感器的应用
技术原理
本模块通过Hook Android系统的SensorManager.registerListener()方法,拦截应用对加速度传感器的注册请求,并注入模拟的传感器数据。
数据生成算法
模拟真实步行时的三轴加速度特征:
- Y轴(上下起伏):
9.8 + 2.5 * sin(2π * t * 步频/60)+ 随机噪声 - X轴(左右摇摆):
0.5 * sin(2π * t * 步频/60 + π/4)+ 随机噪声 - Z轴(前后移动):
0.3 * sin(2π * t * 步频/60 + π/2)+ 随机噪声
传感器采样率:50Hz(每秒50个数据点)
使用方法
1. 环境要求
- Android 11 (API 26) 或更高版本
- 已安装LSPosed或EdXposed框架
2. 安装步骤
- 用Android Studio打开本项目
- 点击菜单:
Build→Build Bundle(s) / APK(s)→Build APK(s) - 等待编译完成,APK文件位于:
app/build/outputs/apk/debug/app-debug.apk - 将APK安装到手机
3. 配置步骤
- 打开LSPosed管理器
- 在”模块”列表中找到”流体计步模拟器”,勾选启用
- 点击模块进入作用域设置
- 勾选需要作用的目标应用(如微信、支付宝、运动健康类应用等)
- 打开”流体计步模拟器”应用,设置步频和目标步数
- 确保”启用模拟”开关处于开启状态
- 点击”保存设置”
- 重启目标应用使模块生效
配置说明
配置界面参数
步频设置:控制每分钟的步数,范围60-180步/分钟
- 60-90:慢走
- 90-120:正常步行(推荐120)
- 120-140:快走
- 140-180:慢跑
目标步数:设置想要达到的总步数(此参数为预留功能)
启用模拟:开关控制模块是否生效
技术细节
Hook点
SensorManager.registerListener(SensorEventListener, Sensor, int)SensorManager.registerListener(SensorEventListener, Sensor, int, int)SensorManager.unregisterListener(SensorEventListener)SensorManager.unregisterListener(SensorEventListener, Sensor)
传感器类型
主要Hook Sensor.TYPE_ACCELEROMETER(加速度计传感器)
跨进程通信
使用XSharedPreferences实现跨进程读取配置
常见问题
Q: 模块没有生效?
A: 请检查:
- LSPosed管理器中模块是否已启用
- 是否勾选了目标应用的作用域
- 是否重启了目标应用
- 配置界面中”启用模拟”开关是否打开
Q: 步数没有变化?
A: 本模块模拟的是加速度传感器数据,应用需要基于加速度数据计算步数。确保目标应用使用加速度传感器而非直接读取系统计步器。
Q: 如何调试?
A: 在LSPosed管理器的日志中可以看到模块的运行日志:
- “流体计步模拟器: Hook应用 xxx, 步频=xxx”
- “流体计步模拟器: 拦截加速度计传感器注册”
- “流体计步模拟器: 停止传感器模拟”
免责声明
本项目仅供学习和研究使用。使用本模块修改应用数据可能违反相关应用的服务条款,请谨慎使用。作者不对使用本模块造成的任何后果负责。
开源协议
本项目暂不开源。
作者
AG666




