Xposed使用笔记

作者: 普通的程序员 | 来源:发表于2017-12-25 23:36 被阅读0次

0.前期准备

Xposed是一个已经被玩得很熟的套路了,这里不敢说有什么特别的见解,本质就是反射。
反射的学习
https://www.jianshu.com/p/9f392c46e670

如果是第一次接触Xposed,那么你需要一个装上Xposed框架的机器。安装过程不表,我是直接刷了一个自带Xposed框架的第三方Rom。
那么安装请参考
https://www.jianshu.com/p/655a07b687ec

如果不想刷机的,VirtualXposed了解一下
http://xposed.appkg.com/2799.html

扫盲,想吃快餐的
请参考
https://www.52pojie.cn/thread-677215-1-1.html

1.导入jar

请注意不要用compile!不要用compile!不要用compile!

https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API 否则报异常

推荐用gradle方式引入
https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API

如果要本地包的话,放的位置是lib而不是libs


新建lib文件夹

2.注册到清单

<meta-data
    android:name="xposedmodule"
    android:value="true"/>     <!--表示是xpose模块,因此xpose框架能识别它-->
<meta-data
    android:name="xposeddescription"
    android:value="module test"/>  <!--对模块功能的描述信息-->
<meta-data
    android:name="xposedminversion"
    android:value="54"/><!--jar包的最低版本,包是54,你这里写30也没问题的-->

3.新建类,实现框架接口和方法

此处就贴api吧,
http://api.xposed.info/reference/packages.html
网上太多例子了
see
1.Xposed________给微信加个按钮

2.Xposed________给微信加上控件之骰子作弊

3.Xposed________给微信步数加上翅膀

4.初探Xposed在android上的应用

5.Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

4.注册指明实现框架的类

新建asset文件夹,新建一个无后缀的文件,文件名 xposed_init,并将该类的全包名写进去。

5.打包

因为实际上这些是作为一个模块,有点像插件化的意思,
什么打包不会?Build-Generate Signed Apk

6.重启

Xposed框架监听了使用该接口的模块,安装上模块,就可以在模块列表里找到它。 adb reboot即可。

难点有几个:安装Xposed框架[允悲],因为这个就是个门槛,装上 才能玩。现在有virtualXposed了
再然后是分析需被hook的app,只有分析出需要被hook的点,这个框架才能发挥出最大的威力,这就引出了另一个话题,反编译拿到明文代码,无论混淆还是加固,你搞不到点子上,hook个啥?

最后才是写hook代码。

Xposed注入实现分析及免重启定制

附上我的反Xposed学习笔记
https://www.jianshu.com/p/ee0062468251

一定要看的!!
Xposed API文档

稍晚附上给伸手党的hook微信步数的模块代码
https://github.com/lamster2018/XposedExample

新增PreferenceFragment设置倍率
刚好踩了这个坑
https://www.jianshu.com/p/c0e9a1baaa05

sp的坑

而更巧的是
MODE_WORLD_READABLE因为安全问题在N之后弃用,否则报

java.lang.SecurityException: MODE_WORLD_READABLE no longer supported

相关文章

网友评论

    本文标题:Xposed使用笔记

    本文链接:https://www.haomeiwen.com/subject/xdurgxtx.html