Xposed hook SensorManager

2023-10-11 01:20
文章标签 hook xposed sensormanager

本文主要是介绍Xposed hook SensorManager,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Xposed hook SensorManager

本篇继续新增hook sensorManager. 用于替换运动量的数值。

public class SportHook {private static final String TAG = "SportHook";private static int stepCount = 1;public static void hook(XC_LoadPackage.LoadPackageParam lpparam) {if (!lpparam.packageName.equals("com.tencent.mm")) return;Log.i(TAG, "hook: start");try {final Class clazz = XposedHelpers.findClass("android.hardware.SystemSensorManager$SensorEventQueue", lpparam.classLoader);XposedBridge.hookAllMethods(clazz, "dispatchSensorEvent", new XC_MethodHook() {@Overrideprotected void beforeHookedMethod(MethodHookParam param) throws Throwable {
//                    ((float[]) param.args[1])[0] = ((float[]) param.args[1])[0] + 1123 * stepCount;((float[]) param.args[1])[0] = 1123 * stepCount;stepCount++;}@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param);}});} catch (Throwable e) {Log.e(TAG, "hook: ", e);}Log.i(TAG, "hook: end");}
}

如上,直接修改dispatchSensorEvent 方法中参数的值。

这里不考虑加速度传感器的问题。

public class HookModule implements IXposedHookLoadPackage {public static final String TAG = "HookModule";@Overridepublic void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {Log.e(TAG, "handleLoadPackage");SportHook.hook(lpparam);}}

这篇关于Xposed hook SensorManager的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184510

相关文章

【hdu】Just a Hook(线段树区间修改)

线段树模板题,练的是懒惰标记。 懒惰标记,就是更新一段区间的时候,如果小区间被包含在了所需要更新的区间里面,那么直接对代表这个区间的数组元素赋值,之后做一个标记(表示这个区间的子区间都需要更新)但是不继续递归(这样可以节省很多的时候)。 116571152014-09-15 14:17:26Accepted1698796MS2380K1750 BG++KinderRiven #

react、vue 提供的 hook 函数对比

文章目录 useMemo vs computeduseEffect vs watch useMemo vs computed React 的useMemo 和 Vue3 的computed 分别用于优化性能和避免不必要的计算的两个概念。它们的目标相似,但实现方式和使用场景有所不同。它们都用于优化那些依赖于其他状态或属性,并且计算成本较高的表达式。以下是它们的主要区别: Rea

企业微信hook协议接口,聚合群聊客户管理工具开发

服务提供了丰富的API和SDK,可以在企微的功能之上进行应用开发和功能扩展 自建应用可以调用企微hook或协议提供的接口来实现数据交互,可以直接调用hook或协议接口提供的功能来进行消息的发送与接收、用户管理、应用管理等操作,通过接口可以实现自动回复、定时发送消息等功能,可以用来获取用户信息、添加或删除用户,发送文本消息、图片、文件、语音、视频等多种类型的消息,可以监听特定类型的消息,支持朋友圈

Android Hook ActivityThread mH 消息

背景: 今天面试被问到如何监听ActivityThread mH 类的消息,当时的想法是,mH 其实就是Handler, Android 没有提供获取到mH 的方法,就算我可以拿到mH 的 Looper, 最多也就可以在Looper 里面设置一个private Printer mLogging; ,当打印的时候就可以知道当前在分发mH 类的任何消息。 但是对方说,不希望在这里拦截,有没有其他方

linux内核hook技术之函数地址替换

前言     函数地址替换是一种更为简单、常见的hook方式,比如对security_ops、sys_call_table等结构中的函数进行替换,来完成自己的安全权限控制。     其中security_ops是LSM框架中所使用的,sys_call_table是系统调用表结构。当然了,这些结构目前在内核中都已经是只读数据结构了,如果想直接进行函数替换的话,首先就是考虑解决关闭写保护的问题。在

linux内核hook技术之跳转指令偏移值

前言     在另一篇博文中提到了指令覆盖和指令注入的hook方式,使用覆盖和注入方式完成内核函数hook,需要有很多的注意事项,而且容易被检测工具检测。这篇博文则聊一下如何通过替换跳转指令偏移值来完成内核函数的hook,这种hook技术也可以称为inline hook。     事先做个准备工作,手头正好有centos 6系列操作系统,还有一个热腾腾刚出锅的vmlinux。通过 gdb  v

linux内核hook技术之指令覆盖与注入

前言     说到hook,传统意义上,大家都会觉得跟注入和劫持挂钩。在linux内核中,也可以通过指令覆盖和注入的方式进行hook,来完成自己的业务逻辑,实现自己的功能需求。     一部分人喜欢称这种hook技术为inline hook。 如何hook     具体hook细节在以下编写的驱动例子程序中给出了,例子中标注了详细的注释,大家可对照着代码查看。     例子程序在cent

Android利用ptrace实现Hook API

以下内容选自《深入解析Android5.0系统》,京东,当当,亚马逊上有售。 Hook API的技术由来已久,在操作系统未能提供所需功能的情况下,利用HookAPI的手段来实现某种必需的功能也算是一种不得已的办法。 笔者了解Hook API技术最早是在十几年前,当时是在Windows平台下开发电子词典的光标取词功能。这项功能就是利用HookAPI的技术把系统的字符串输出函数替换成了电子词典中

Native开发与逆向第六篇 -字符串加密与hook

开发demo 写一个简单的字符串加密处理,将字符串字符转成ASCII十六进制值 std::string StrToHex(std::string str){unsigned char c;char buf[3];std::string result = "";std::stringstream ss;ss << str;while (ss.read((char *)(&c), sizeof(c

Native开发与逆向第四篇 - hook JNI函数GetStringUTFChars

修改测试demo 通过GetStringUTFChars 获取java层传入的字符串参数。 extern "C" JNIEXPORT jstring JNICALLJava_com_mycode_nativehello_MainActivity_stringFromJNI(JNIEnv* env,jobject /* this */,jstring s) {std::string hello