初探Xposed,初学Xposed框架上手必看

本文介绍了Xposed框架的基本概念、工作原理、安装步骤,并详细讲解了如何初次编写Xposed代码,包括设置环境、创建项目、实现hook。此外,还讨论了如何处理加了壳的APP,并提供了Xposed API参考文档链接。
摘要由CSDN通过智能技术生成

目录

一、Xposed概述

二、Xposed原理

三、Xposed安装

四、初次编写Xposed代码

五、面对加了壳的APP的处理

六、xposedAPI参考文档


一、Xposed概述

Xposed是GitHUB上rovo89大大设计的一个针对Android平台的动态劫持项目,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。与采取传统的Inhook方式(详见Dynamic Dalvik Instrumentation分析这篇本章 )相比,Xposed在开机的时候完成对所有的Hook Function的劫持,在原Function执行的前后加上自定义代码。

Xposed框架的基本运行环境如下

  1. Configuration:RequireMent
  2. Root Access:因为Xposed工作原理是在/system/bin目录下替换文件,在install的时候需要root权限,但运行时不需要root权限。
  3. 版本要求:需要在Android 4.0以上版本的机器中

二、Xposed原理


Android运行的核心是zygote进程,所有app的进程都是通过zygote fork出来的。通过替换system/bin/下面的app_process等文件,相当于替换了zygote进程,实现了控制手机上的所有APP。基本原理是修改了ART/Davilk虚拟机,将需要hook的函数注册为Native层函数,当执行到该函数时,虚拟机会先执行Native层函数,然后执行Java层函数,这样完成hook。

 

三、Xposed安装

环境:网易mumu、Android Studio3.3.1
github地址:https://github.com/rovo89/XposedInstaller
Xposedinstaller的apk:https://repo.xposed.info/module/de.robv.android.xposed.installer

在网易mumu中安装好xposedinstaller apk后,关闭应用兼容性(不关闭的话安装xposed框架会出错),进去之后点击小云彩即可安装完成。

Xposed框架安装
Xposed框架安装教程

 

四、初次编写Xposed代码

新建项目,选择empty activity,创建成功后,在AndroidManifest.xml中添加如下代码

<meta-data
    android:name="xposedmodule"
    android:value="true" />   <!--告诉xposed框架这是一个xposed模块-->
<meta-data
    android:name="xposeddescription"
    andr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值