利用Xposed框架修改微信运动计步

本文详细介绍了如何利用Xposed框架修改微信运动的计步数据,通过咕咚作为中介,针对小米3+MIUI8的系统进行操作。文章分析了Android 5.0到6.0+系统变化带来的问题,并提供了相应的解决方案,包括反射获取Sensor数据的调整,以及应对咕咚使用加速度传感器判断运动状态的模拟策略。最终实现了稳定修改计步器功能。
摘要由CSDN通过智能技术生成

1.源码

使用的方法是以咕咚为跳板,先修改咕咚的计步数据然后上传微信。

其中:

使用的手机是 小米3+miui8首先要满足xposed可以运行的条件,其次系统一定要是android6.0+,原因会在后面详细说明

里面带了一些调试输出,用于查看过程中传感器数据的变化不需要的话可以把log.e全部删掉

l sensor.getName().equals("Step Counter")会由于权限问题报错eclipse代码左侧提示小图标点一下无视就好

package com.example.testxposedhook;
import static de.robv.android.xposed.XposedHelpers.findClass;

import java.lang.reflect.Field;

import android.hardware.Sensor;
import android.util.Log;
import android.util.SparseArray;

import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

public class Main implements IXposedHookLoadPackage {
	private static int stepCount = 23333;//must lower than 98800
	private static int acclCount = 1;//accelerate sensor count
	@Override
	public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
		// TODO Auto-generated method stub
		if(!lpparam.packageName.equals("com.codoon.gps")){
			return;
		}
		final Class<?> sensorEL = findClass("android.hardware.SystemSensorManager$SensorEventQueue", lpparam.classLoader);

        XposedBridge.hookAllMethods(sensorEL, "dispatchSensorEvent", new XC_MethodHook() {

            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
              //  ((float[]) param.args[1])[0] = ((float[]) param.args[1])[0] + 1168 * stepCount;
              //  stepCount++;
            	try{
            		 //先拿manager
	                Field mfield = param.thisObject.getClass().getSuperclass().getDeclaredField("mManager");
	                mfield.setAccessible(true);
	                Object mManager= mfield.get(param.thisObject);
	                //再拿mmanage
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值