Xposed插件开发

简单介绍
Xposed,大名鼎鼎得Xposed,是Android平台上最负盛名的一个框架。在这个框架下,我们可以加载很多插件App,这些插件App可以直接或间接操纵系统层面的东西,比如操纵一些本来只对系统厂商才open的功能(实际上是因为Android系统很多API是不公开的,而第三方APP又没有权限)。有了Xposed后,理论上我们的插件APP可以hook到系统任意一个Java进程。

开发准备
编译器我最初用AndroidStudio+Gradle环境发现不行,后来想了一下,应该是不能用Gradle环境的。于是就用IDEA+MAVEN创建工程,然后再导入AndroidStudio编译的。
首先要给测试机root+刷rec|twrp+安装XposedInstaller,然后用XposedInstaller下载卡刷Xopsed框架卡刷包,然后在rec中刷进去。第一次开机会有点久,安装成功之后测试机就准备好了。
然后是jar包:百度搜,下载XposedBridgeApi-54.jar,在工程目录新建lib文件夹,把下载的jar包放进去。然后右键工程-OpenModuleSetting 把lib以addjar文件夹的形式加入进来。注:不可用工程默认的libs目录,一定要自己创建lib目录使用。
接下来是AndroidManifest.xml
在application中添加:

<meta-dataandroid:name="xposedmodule"android:value="true" /><meta-dataandroid:name="xposeddescription"android:value="介绍" /><meta-dataandroid:name="xposedminversion"android:value="56" />

创建xposed类,来写代码吧

import android.telephony.TelephonyManager;import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XSharedPreferences;
import de.robv.android.xposed.callbacks.XC_LoadPackage;import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;/*** Created by zhaoyong on 2016/5/14.*/
public class XposedTest implements IXposedHookLoadPackage {/* (non-Javadoc)* @see de.robv.android.xposed.IXposedHookLoadPackage#handleLoadPackage(de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam)*/public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {hookPhoneinfo(loadPackageParam);}private void hookPhoneinfo(final XC_LoadPackage.LoadPackageParam lpparam) {//getDeviceIdfindAndHookMethod(TelephonyManager.class.getName(), //包名类名lpparam.classLoader, //不用管 这样写就好"getDeviceId", //方法名new XC_MethodHook() {@Overrideprotected void beforeHookedMethod(MethodHookParam param) throws Throwable {//在该方法执行前调用}@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param);//在该方法执行之后调用//给改方法自定义返回值param.setResult("自定义返回值");}});}}

接下来创建assets目录,创建文件xopsed_init,以本文文档的形式创建,不要加.txt后缀,里面写

com.xxx.xxx.xxx.XposedTest

完成的包名类名路径

完成,运行安装,激活,重启搞定。
关于如何保存自定义配置,看我的另一个Xposed保存SP的文章。

Xposed Xposed插件开发相关推荐

  1. android8 检测xposed,Xposed检测与自定义Xposed

    Xposed检测与自定义Xposed 前言: Xposed检测 1.遍历App安装列表检测 2.自造异常检测堆栈信息. 3.检查关键Java方法是否变为native方法 4.反射XposedHelpe ...

  2. android 类似xposed,Xposed 专题 - 你的手机其实可以比你想象的更强大 - Android 应用 - 【最美应用】...

    之前我们介绍了「无需 ROOT 就能让你用上 Xposed 框架」的方法,相信有的朋友也对 Xposed 框架下各种各样的模块产生了兴趣,这次,就让小美承接着上次的内容,来给大家介绍一些实用的 Xpo ...

  3. [免费专栏] Android安全之Android Xposed插件开发,小白都能看得懂的教程

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  4. [Android开发] Xposed 插件开发之一: Xposed入门

    一.什么是Xposed Xposed Framework 为来自国外XDA论坛(forum.xda-developers.com)的rovo89自行开发的一个开源的安卓系统框架. 它是一款特殊的安卓A ...

  5. Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP

    Xposed Xposed能够勾住(Hook) Android应用程序对象的方法,实现AOP,一个简单的例子: public class WebViewHook implements IXposedH ...

  6. Xposed源码剖析——概述

    XPosed是与Cydia其名的工具,它能够让Android设备在没有修改源码的情况下修改系统中的API运行结果.我们通常称之为:God Mode(上帝模式). 之前享大家分享了Xposed的基础,X ...

  7. Android Hook神器——XPosed入门(登陆劫持演示)

    前段时间写了一篇有关于CydiaSubstrate的广告注入的文章(地址:http://blog.csdn.net/yzzst/article/details/47318751),大家都直呼过瘾.但是 ...

  8. Xposed是如何为所欲为的?

    本文通过分析 Xposed 的实现原理,对于 Java 方法的 Hook 原理有了一些了解,同时回顾了 Android zygote 进程相关的内容,对于 ART 虚拟机执行方法的过程也有了一个大概的 ...

  9. 安卓逆向_22( 一 ) --- Xposed【 Android Studio + Xposed 实现简单的 hook 】

    From:使用渗透测试框架 Xposed 框架 hook 调试 Android APP:https://www.freebuf.com/articles/terminal/56453.html Xpo ...

最新文章

  1. 数据、算法岗的几点经验分享!
  2. Visual studio 利用Nuget 控制台安装已经下载好的插件
  3. Feign深入学习(二)
  4. leetcode 687. Longest Univalue Path | 687. 最长同值路径(树形dp)
  5. 【PAT甲级 十进制转十三进制】1027 Colors in Mars (20 分) Java版 5/5通过
  6. SAP Cloud for Customer的前世今生
  7. Xamarin效果第三篇之手机底部弹窗
  8. 百度SEO站群裕网云综合导航网html源码
  9. Android基础新手教程——3.4 TouchListener PK OnTouchEvent + 多点触碰
  10. gridview RowCommand 事件获取行索引
  11. html5在线加密,HTML源代码在线加密解密
  12. 【NLP】AI相关比赛汇总(2022)
  13. 《大明王朝1566》台词摘录
  14. A14:Untiy+Leapmotion制作拍打乐符游戏
  15. 跑步戴什么耳机比较好、精挑五款最佳跑步耳机推荐
  16. 智慧街道(乡镇)二三维网格化管理系统
  17. Xftp和Xshell使用常见问题
  18. 基于人工兔优化算法的函数寻优和工程优化
  19. DDD | 领域驱动设计 Vs 敏捷 Vs 面向对象
  20. 虚拟机配置静态ip地址(俗称固定ip地址)

热门文章

  1. 大一计算机系要什么游戏本,大一新生笔记本电脑推荐-大一新生笔记本推荐性价比高榜单...
  2. 双操作系统安装(五)Windows及Manjaro Linux双系统安装教程
  3. iTween那些事儿(二)
  4. 论文计算机本科字数,211本科毕业论文多少字?毕业论文多少字数要求
  5. epub文件格式揭秘
  6. mysql源码分析——InnoDB引擎启动分析
  7. 接口报错500是什么意思_500错误原因解决办法?错误页面怎么解决?到底是什么问题?...
  8. 《knowledge graph embedding:a survey of approaches and applications》论文阅读
  9. HTML 编码规范之布尔型属性
  10. Kubernetes权威指南(下)