前言:Zygote 是 Android 的核心,每打开一个 app,Zygote 就会 fork 一个虚拟机实例来运行 app,基于Xposed我们可以使用android hook技术对APK中的方法进行调试、关键API拦截、外挂等。
这篇文章建立在Xposed模块开发的基础之上,没有开发过Xposed模块的请先看这篇入门教程《Xposed模块开发入门教程》
一、微信运动修改步数原理
当点击微信运动排行榜的时候微信APP会获取手机上计数传感器的数值,然后传感器会返回我们行走的步数。此时我们使用Xposed框架来hook计数传感器的队列函数dispatchSensorEvent(),该函数在android.hardware.SystemSensorManager$SensorEventQueue这个类中。当询问传感器的时候我们在数值上加上相应步数返回给微信运动达到欺骗效果。
二、开发Xposed模块
1.新建一个类WeixinSport,具体代码如下:
[java] view plain copy
package com.example.administrator.weixinsport;
import static de.robv.android.xposed.XposedHelpers.findClass;
import java.lang.reflect.Field;
import android.hardware.Sensor;
import android.util.SparseArray;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
/**
* Created by Administrator o

本文介绍如何利用Xposed框架hook Android的Zygote进程,通过修改计数传感器的dispatchSensorEvent()方法,欺骗微信运动获取自定义步数,实现微信运动步数的修改。首先过滤出微信请求,然后hook SensorEventQueue类的相关函数,增加步数返回给微信,达到欺骗效果。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



