返回列表 发新帖

[求助问答] 求助仅限lsp框架用的模块怎么修改为免root可用

[复制链接]

31

主题

1792

回帖

6012

积分

硕士生

Rank: 6Rank: 6

金币
3564
好评
1
信誉
100

MT论坛帅哥

发表在  7 小时前 来自手机  | 显示全部楼层 | 阅读模式  来自 山东
如题。使用npatch等免root框架注入模块后,抖音设置里无法显示模块面板。下面是AI分析的结果
  1. Provider 缺标准 authority[/b]:manifest 注册了 io.github.libxposed.service.XposedProvider(类存在),但 LibXposed 发现模块要扫描 authority 前缀 xposed.provider.<包名>,而全 manifest 字符串池搜 xposed.provider 为 0 命中,资源表搜 xposed 也为 0。结论:LSPatch 索引不到模块 → provider 永远不会被实例化。
  2. 业务初始化挂在模块自带的 Application 上[/b]:该包 application = com.ss.android.ugc.awemes.MainApp(模块自带,非宿主),MainApp.onCreate() 把实例存进静态字段;XposedProvider.call() 里有 if (MainApp != null) 判断,为 null 时只把 session 丢进 HashSet,不执行 linkToDeath、不设置绑定字段、不通知 MainActivity。LSPatch 注入后宿主进程只启动抖音自己的 Application,MainApp 永远没有 onCreate 机会 → 静态字段恒为 null → 即使 provider 被实例化注册链也断。
  3. 入口方法零静态调用者[/b]:ModuleMainWrapper.<init> 和 onPackageLoaded 的 xref 全部为 0,只能靠框架经 provider 的 Binder 通道反射回调,通道没建立就永不触发。
复制代码

下载链接https://share.feijipan.com/s/62vU86uW
回复

使用道具 举报

31

主题

1792

回帖

6012

积分

硕士生

Rank: 6Rank: 6

金币
3564
好评
1
信誉
100

MT论坛帅哥

发表于 7 小时前 来自手机  | 显示全部楼层  来自 山东
AI给的方案
求指点:
1. 上面三点哪个是"完全没反应"的根因?我的判断是第 1 点(authority 缺失)是入口不被发现的直接原因,第 2 点会导致被发现后也断链,两个都得修,对吗?
2. 补 authority 怎么补:直接给现有 XposedProvider 加 android:authorities="xposed.provider.<包名>" 就行,还是需要 LibXposed 特定的完整声明(如 xposedminversion 等 meta-data)?
3. 模块初始化挂在自己 Application 上,最干净的改法是不是把 MainApp 初始化挪进 XposedProvider.onCreate(),不再依赖模块自带 Application?
4. 模块目标宿主是 com.ss.android.ugc.awemes(带 s),LSPatch 通常注入的是 com.ss.android.ugc.aweme(不带 s)——包名不匹配是否本身就是硬伤?
回复

使用道具 举报

78

主题

2291

回帖

8999

积分

硕士生

Rank: 6Rank: 6

金币
2356
好评
4
信誉
100
发表于 7 小时前 来自手机  | 显示全部楼层  来自 四川
让ai修一下看看行不行
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表