Hook 的 Static String 仅在应用内部生效
together08 opened this issue · 5 comments
together08 commented
我使用了 Xposed 类型方法 Hook 了 android.os.build.class.MODEL 这个 static string,如下:
XposedHelpers.setStaticObjectField(android.os.Build.class, "MODEL", "FAKEMODEL");
System.out.println(android.os.Build.MODEL);
后在应用内部执行 System.out.println(android.os.Build.MODEL);
,结果得到 FAKEMODEL
.
再之后我尝试在另一个 APP 里执行同样的,结果还是得到了原本的 Hook 前的数据.
感觉是我操作问题,望大佬解答.
canyie commented
你的应用和另一个应用跑在不同进程,不同进程的这部分数据是隔离的所以不会生效。修改其他进程的内存需要较高权限,如果有类似需求,建议自行注入到目标进程/ zygote 进程去修改,或者修改 /system/build.prop 这个文件。
canyie commented
方法很多,比如用 magisk 的 zygisk,riru,https://github.com/canyie/NbInjection 或 ptrace 等等,但至少也需要 root 权限(除非利用系统漏洞)
together08 commented
好的,谢谢
together08 commented
请问一下如何注入到 zygote 进程中呢?
希望能大佬解答一下.
如果有捐赠渠道请提供下. Hook 框架做的很好.
together08 commented
好的,谢谢