咨询发布 发表于 2026-9-21 09:47:05

用LSPosed写第一个Xposed模块,hook目标App的返回值

想改一个App里某个方法的返回值,之前用Frida每次都要连电脑跑脚本,重启就没了。后来学着写了个LSPosed模块,装上就常驻生效,不用连电脑,方便不少。

新建一个Android工程,把XposedBridge的api以compileOnly引进来,AndroidManifest里用meta-data声明xposedmodule、xposeddescription和xposedminversion,assets里建xposed_init文件写入口类名。入口类实现IXposedHookLoadPackage,在handleLoadPackage里先按包名过滤目标App,再XposedHelpers.findAndHookMethod指定类名方法名和参数,beforeHookedMethod里把返回值改掉就行。

踩的坑主要两个。一是Xposed API的90以上版本部分接口有变动,网上老教程的代码会报NoSuchMethodError,对着LSPosed仓库的文档改就行;二是目标App如果有混淆,类名方法名都是a.b.c这种,得先从jadx里确认混淆后的真实名字。写完装上,LSPosed里勾选作用域重启,打开目标App验证,返回值已经是改过的了。

https://www.metk.cn/img/posts/lsposed_module_dev_01.jpg
页: [1]
查看完整版本: 用LSPosed写第一个Xposed模块,hook目标App的返回值