xposed之hook,几乎是每一个走在安卓逆向道路上的同学都会学习的强有力的方法。论坛里各种学习xposed hook的优秀帖子也十分的多。现总结一下自己在学习xposed hook过程中遇到的三个暗坑,给后来的同学提个醒,
一个暗坑:
当使用Android studio开发hook模块的时候,发现自己写的hook没问题,而xposed日志中出现有:Failed to load class com.xposeddemo.xposed.XposedInit 类似的字样。这个需要禁用Android studio 的Instant Run就可以解决。如果开启了Instant Run,Xposed将不会加载插件,当然本工具也不会去加载她。关闭方法:File——>Settings...——>Build, Execution, Deployment——>Instant Run 去掉钩子。
第二个暗坑:
如果xposed的日志出现如下字样:
Loading modules from /data/app/xxxx-1/base.apk
File does not exist
这个应该是xposed的bug,和插件安装,系统重启的流程有关。当遇到这个场景时,可能重启无效,解决方案是需要触发一下插件安装,再重启Android系统。
- 点击Android的代码安装按钮,将apk重新安装到手机(即使代码没有任何更新),这么做的目的是使用XposedInstaller重新维护插件apk的真实地址
- 重启Android系统
- 好了
第三个暗坑:
Android studio调试代码过程中,出现了红色 no Debuggable Processes .
尝试在app下的build.gradle内的release中添加 debuggable true,我遇到 no Debuggable Processes 的时候使用这个方法解决了这个问题。
学习xposedhook过程中,如果遇到这三个暗坑先尝试使用上面的解决方式,或许可以节约在网上找解决方案的时间。 |