xposed是一款可以在不修改apk的情况下影响程序运行的框架服务,xposed框架的作用类似于js逆向中的油猴插件,你可以自定义框架模块对java层代码进行hook操作。那么,到底如何编写一个xposed模块呢?

准备一个已经root并且安装了xposed框架的真机或者模拟器,下载安装android studio。


打开android studio新建项目


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战


安卓逆向 | xposed 框架模块编写实战


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
找到AndroidManifest.xml文件,添加xposed配置信息


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
在build.gradle文件中添加信息自动导入XposedBridgeApi.jar


安卓逆向 | xposed 框架模块编写实战

上面步骤完成之后,我们需要明确一个目标,通过编写一个xposed模块修改按钮被点击后显示的弹框信息,那么我们先在界面上添加一个按钮,实现按钮被点击后弹框提示信息的简单功能。


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战

通过数据线或者adb命令使设备与android studio连接,然后运行项目,看手机上提示xposed模块未**,因为我们的xposed模块功能还没编写,所以这个时候先不管它,我们先看弹框提示功能是否正常


安卓逆向 | xposed 框架模块编写实战


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
在图示路径下新建类文件XposedHook,然后开始hook代码的编写


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
在main文件夹下新建Assets文件夹,然后在Assets文件夹内新建名为xposed_init文件,在文件中添加上自定义hook类的路径, 即com.example.hook.XposedHook


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
运行项目安装apk,然后进入xposed框架勾选上自己编写的Hook模块,重启手机


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
重新打开app, 点击按钮,发现提示信息已经被修改,我们去android studio的logcat看一下,原先的提示内容被获取到了


安卓逆向 | xposed 框架模块编写实战


安卓逆向 | xposed 框架模块编写实战
安卓逆向 | xposed 框架模块编写实战
至此,一个简单的 xposed hook 模块已经完成了,是不是没有你想象得那么难呢?其实,所有的hook技术都不难,难就难在如何找到hook点。

如果你对爬虫逆向感兴趣,请关注微信公众号:逆向小白
安卓逆向 | xposed 框架模块编写实战

相关文章:

  • 2021-04-18
  • 2021-08-20
  • 2021-11-06
  • 2021-09-17
  • 2021-10-14
  • 2021-08-14
  • 2021-05-25
  • 2021-12-26
猜你喜欢
  • 2021-10-19
  • 2022-12-23
  • 2022-01-01
  • 2021-12-29
  • 2021-08-29
  • 2021-08-04
相关资源
相似解决方案