返回顶部
首页 > 资讯 > 精选 >Xposed环境安装
  • 950
分享到

Xposed环境安装

android 2023-08-17 06:08:58 950人浏览 八月长安
摘要

一、Xposed 框架实现 Hook 的原理介绍 ZyGote是Android的核心,每运行一个app,Zygote就会fork一个虚拟机实例来运行app, Xposed Framework深入到了Android核心机制中,通过改造Zygo

一、Xposed 框架实现 Hook 的原理介绍

ZyGote是Android的核心,每运行一个app,Zygote就会fork一个虚拟机实例来运行app,
Xposed Framework深入到了Android核心机制中,通过改造Zygote来实现一些很牛逼的
功能。Zygote的启动配置在init.rc 脚 本 中,由系统启动的时候开启此进程,对应的
执行文件是/system/bin/app_process,这个文件完成类库加载及一些函数调用的工作。
当系统中安装了Xposed Framework之后,会对app_process进行扩展,也就是说,Xposed
Framework 会拿自己实现的app_process覆盖掉Android原生提供的app_process文件,
当系统启动的时候,就会加载由 Xposed Framework 替换过的进程文件,并且,Xposed
Framework 还定义了一个 jar 包,系统启动的时候,也会加载这个包:
/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar

二、Xposed框架运行的条件

Rooted Device / Emulator (已root的手机或者模拟器)
2.Xposed Installer (Xposed安装程序下载)
3.Hooking Android App (要被Hook的目标 App)

三、安装过程

1. 推荐下载 Xposed3.1.5 版本,XposedInstaller_3.1.5.zip。

​ 下载安装后,若科学上网可以直接激活,之前Http改为https需要搭梯子。
请添加图片描述

2.离线激活方式:

​ https://dl-xda.xposed.info/framework/ 从该网址找到自己的手机api - sdk对应的版本 (arm|x86)(32 | 64位)

eg: 雷电模拟器 4.0.43 版本 - 》 (X86 api 25)
请添加图片描述

-> 下载25版本https://dl-xda.xposed.info/framework/sdk25

请添加图片描述

3.下载后将压缩包中的 system 解压到一个新建文件夹中,再将以下 script.sh shell脚本放置该文件中:

请添加图片描述

############################################################################################ Xposed framework installer zip.## This script installs the Xposed framework files to the system partition.# The Xposed Installer app is needed as well to manage the installed modules.###########################################################################################grep_prop() {  REGEX="s/^$1=//p"  shift  FILES=$@  if [ -z "$FILES" ]; then    FILES='/system/build.prop'  fi  cat $FILES 2>/dev/null | sed -n $REGEX | head -n 1}android_version() {  case $1 in    15) echo '4.0 / SDK'$1;;    16) echo '4.1 / SDK'$1;;    17) echo '4.2 / SDK'$1;;    18) echo '4.3 / SDK'$1;;    19) echo '4.4 / SDK'$1;;    21) echo '5.0 / SDK'$1;;    22) echo '5.1 / SDK'$1;;    23) echo '6.0 / SDK'$1;;    24) echo '7.0 / SDK'$1;;    25) echo '7.1 / SDK'$1;;    26) echo '8.0 / SDK'$1;;    27) echo '8.1 / SDK'$1;;    *)  echo 'SDK'$1;;  esac}cp_perm() {  cp -f $1 $2 || exit 1  set_perm $2 $3 $4 $5 $6}set_perm() {  chown $2:$3 $1 || exit 1  chmod $4 $1 || exit 1  if [ "$5" ]; then    chcon $5 $1 2>/dev/null  else    chcon 'u:object_r:system_file:s0' $1 2>/dev/null  fi}install_nobackup() {  cp_perm ./$1 $1 $2 $3 $4 $5}install_and_link() {  TARGET=$1  XPOSED="${1}_xposed"  BACKUP="${1}_original"  if [ ! -f ./$XPOSED ]; then    return  fi  cp_perm ./$XPOSED $XPOSED $2 $3 $4 $5  if [ ! -f $BACKUP ]; then    mv $TARGET $BACKUP || exit 1    ln -s $XPOSED $TARGET || exit 1    chcon -h 'u:object_r:system_file:s0' $TARGET 2>/dev/null  fi}install_overwrite() {  TARGET=$1  if [ ! -f ./$TARGET ]; then    return  fi  BACKUP="${1}.orig"  NO_ORIG="${1}.no_orig"  if [ ! -f $TARGET ]; then    touch $NO_ORIG || exit 1    set_perm $NO_ORIG 0 0 600  elif [ -f $BACKUP ]; then    rm -f $TARGET    gzip $BACKUP || exit 1    set_perm "${BACKUP}.gz" 0 0 600  elif [ ! -f "${BACKUP}.gz" -a ! -f $NO_ORIG ]; then    mv $TARGET $BACKUP || exit 1    gzip $BACKUP || exit 1    set_perm "${BACKUP}.gz" 0 0 600  fi  cp_perm ./$TARGET $TARGET $2 $3 $4 $5}##########################################################################################echo "**************************"echo "Xposed framework installer"echo "**************************"if [ ! -f "system/xposed.prop" ]; then  echo "! Failed: Extracted file system/xposed.prop not found!"  exit 1fiecho "- Checking environment"API=$(grep_prop ro.build.version.sdk)APINAME=$(android_version $API)ABI=$(grep_prop ro.product.cpu.abi | cut -c-3)ABI2=$(grep_prop ro.product.cpu.abi2 | cut -c-3)ABILONG=$(grep_prop ro.product.cpu.abi)XVERSION=$(grep_prop version system/xposed.prop)XARCH=$(grep_prop arch system/xposed.prop)XMINSDK=$(grep_prop minsdk system/xposed.prop)XMAXSDK=$(grep_prop maxsdk system/xposed.prop)XEXPECTEDSDK=$(android_version $XMINSDK)if [ "$XMINSDK" != "$XMAXSDK" ]; then  XEXPECTEDSDK=$XEXPECTEDSDK' - '$(android_version $XMAXSDK)fiARCH=armIS64BIT=if [ "$ABI" = "x86" ]; then ARCH=x86; fi;if [ "$ABI2" = "x86" ]; then ARCH=x86; fi;if [ "$API" -ge "21" ]; then  if [ "$ABILONG" = "arm64-v8a" ]; then ARCH=arm64; IS64BIT=1; fi;  if [ "$ABILONG" = "x86_64" ]; then ARCH=x86_64; IS64BIT=1; fi;fi# echo "DBG [$API] [$ABI] [$ABI2] [$ABILONG] [$ARCH] [$XARCH] [$XMINSDK] [$XMAXSDK] [$XVERSION]"echo "  Xposed version: $XVERSION"XVALID=if [ "$ARCH" = "$XARCH" ]; then  if [ "$API" -ge "$XMINSDK" ]; then    if [ "$API" -le "$XMAXSDK" ]; then      XVALID=1    else      echo "! Wrong Android version: $APINAME"      echo "! This file is for: $XEXPECTEDSDK"    fi  else    echo "! Wrong Android version: $APINAME"    echo "! This file is for: $XEXPECTEDSDK"  fielse  echo "! Wrong platform: $ARCH"  echo "! This file is for: $XARCH"fiif [ -z $XVALID ]; then  echo "! Please download the correct package"  echo "! for your platform/ROM!"  exit 1fiecho "- Placing files"install_nobackup /system/xposed.prop                      0    0 0644install_nobackup /system/framework/XposedBridge.jar       0    0 0644install_and_link  /system/bin/app_process32               0 2000 0755 u:object_r:zygote_exec:s0install_overwrite /system/bin/dex2oat                     0 2000 0755 u:object_r:dex2oat_exec:s0install_overwrite /system/bin/oatdump                     0 2000 0755install_overwrite /system/bin/patchoat                    0 2000 0755 u:object_r:dex2oat_exec:s0install_overwrite /system/lib/libart.so                   0    0 0644install_overwrite /system/lib/libart-compiler.so          0    0 0644install_overwrite /system/lib/libsigchain.so              0    0 0644install_nobackup  /system/lib/libxposed_art.so            0    0 0644if [ $IS64BIT ]; then  install_and_link  /system/bin/app_process64             0 2000 0755 u:object_r:zygote_exec:s0  install_overwrite /system/lib64/libart.so               0    0 0644  install_overwrite /system/lib64/libart-compiler.so      0    0 0644  install_overwrite /system/lib64/libart-disassembler.so  0    0 0644  install_overwrite /system/lib64/libsigchain.so          0    0 0644  install_nobackup  /system/lib64/libxposed_art.so        0    0 0644fimkdir -p /system/priv-app/XposedInstallerchmod 0755 /system/priv-app/XposedInstallerchcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstallercp system/priv-app/XposedInstaller/XposedInstaller.apk /system/priv-app/XposedInstaller/XposedInstaller.apk chmod 0644 /system/priv-app/XposedInstaller/XposedInstaller.apkchcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller/XposedInstaller.apkif [ "$API" -ge "22" ]; then  find /system /vendor -type f -name '*.odex.gz' 2>/dev/null | while read f; do mv "$f" "$f.xposed"; donefiecho "- Done"exit 0

4.将该文件夹push进手机 system 中 :

adb remountadb push 刚刚创建的文件夹 /systemadb shell chmod 777  文件夹名 chmod 777  文件夹名 /shell脚本chmod 777  文件夹名 /system

5.运行script.sh脚本:

chmod 777  script.sh ./script.sh 

6.重新手机,再打开xposed框架,成功激活:

请添加图片描述

来源地址:https://blog.csdn.net/qq_41369057/article/details/131242833

--结束END--

本文标题: Xposed环境安装

本文链接: https://lsjlt.com/news/372400.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Xposed环境安装
    一、Xposed 框架实现 Hook 的原理介绍 Zygote是Android的核心,每运行一个app,Zygote就会fork一个虚拟机实例来运行app, Xposed Framework深入到了Android核心机制中,通过改造Zygo...
    99+
    2023-08-17
    android
  • LNMP环境安装
    LNMP环境安装步骤 名称版本号服务商华为云CentOS8.2 64bitNginx1.23.2MySQL8.0.31PHP7.4.16 服务器为华为云的的先更换yum源 [root@hecs-...
    99+
    2023-09-03
    nginx 运维 php centos rabbitmq
  • PHP环境安装
    第一步:下载PHP 下载地址:https://windows.php.net/download 第二步:安装PHP 1)解压后复制php.ini-development,重命名为php.ini ...
    99+
    2023-09-06
    php
  • python 环境安装
    window下python环境安装 什么是python?python 是一种跨平台,可移植的编程语言 Python官网:http://www.python.org/Python文档地址:http://www.python.org/do...
    99+
    2023-01-31
    环境 python
  • Python环境安装
    1,文件安装 sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wge...
    99+
    2023-01-31
    环境 Python
  • Linux环境下怎么安装docker环境
    这篇文章主要介绍“Linux环境下怎么安装docker环境”,在日常操作中,相信很多人在Linux环境下怎么安装docker环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux环境下怎么安装docke...
    99+
    2023-06-22
  • Ubuntu 环境下安装 Docker环境详解
    目录系统要求添加镜像源安装Docker CE和containerd让普通用户使用Docker卸载Docker系统要求   Docker目前只能运行在64位平台上,并且要求内核版本不低...
    99+
    2022-11-13
    Ubuntu安装docker ubuntu环境安装docker ubuntu安装docker教程
  • Linux环境Hbase安装
    环境准备 System:CentOS release 6.10 (Final) JDK:jdk1.8.0_251 注意,不同版本的安装包需要相应的jdk版本支持 step1下载安装包: # wget http://ftp.mirror.t...
    99+
    2019-09-23
    Linux环境Hbase安装
  • 1-oracle环境安装
    此课程是 oracle 开发的第一课,我们先从环境的准备开始。 1 : oracle 的下载和安装       大家登录下面网页下载安装文件 ...
    99+
    2024-04-02
  • 【linux】 安装 java 环境
    目录 1.检查linux 下是否安装java(jdk)环境2.查看 linux 的操作系统版本3.下载jdk4.新建java文件夹用于安装jdk5.将下载到本地的jdk压缩包上传到linux服...
    99+
    2023-09-03
    linux java 服务器
  • Linux环境安装unzip
    目录 1. 下载unzip源码2.解压3.进入解压目录4.将Makefile从unix子目录复制到当前目录5.安装 1. 下载unzip源码 sudo wget http://downl...
    99+
    2023-08-31
    linux 服务器 运维
  • Mac环境安装python
    一、介绍:         Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。 要开始学习Python编程,首先就得把Pytho...
    99+
    2023-09-01
    python
  • wsl2安装mysql环境
    安装完mysql后通过如下命令启动mysql service mysql start 会显示如下错误:  mysql: unrecognized service  实际上上面显示的错误是由于mysql没有启动成功造成的 我们要想办法成...
    99+
    2023-09-06
    mysql linux
  • linux安装php环境
    linux安装php环境 首先,打开终端并更新系统的软件包列表。运行以下命令然后安装 PHP。运行以下命令安装完成后,可以使用以下命令检查 PHP 的版本:如果您需要使用 PHP 的扩展,可以...
    99+
    2023-08-31
    php linux apache
  • windows环境安装phantomjs
    1. 安装phantomjs 下载地址:http://phantomjs.org/download.html 解压后将phantomjs.exe文件放到python根目录   2.安装pyspider pip install pyspid...
    99+
    2023-01-30
    环境 windows phantomjs
  • python-windows环境安装
    windows下python环境安装   1. 先在官网上下载安装包,官网地址:https://www.python.org/        点击windows,进入下载选择      选择python3.7.0,点击进入下载,下载前请...
    99+
    2023-01-30
    环境 python windows
  • linux安装golang环境
    随着互联网、人工智能等领域的不断发展,编程语言也在日新月异地更新,Go就是其中之一。Go是谷歌开发的一款开源的编程语言,它具有高效、稳定、简洁等特点,受到了众多程序员的欢迎。本文将介绍在Linux系统下安装golang环境的详细步骤,帮助初...
    99+
    2023-05-14
  • mac 安装 golang环境
    作为一名开发者,安装golang环境是必须的。在mac上,安装golang环境也很简单。本文将介绍如何在mac上安装golang环境。安装Xcode在安装golang之前,需要安装Xcode。Xcode是一款由苹果公司推出的集成开发环境(I...
    99+
    2023-05-15
  • centos7安装php7环境
    CentOS 7系统是一种广泛使用的服务器操作系统,其稳定性和安全性使其成为在服务器环境中使用的首选操作系统之一。而PHP 7则是一种广泛使用的高性能服务器端脚本语言,许多网站和应用程序都是使用PHP编写的。在这篇文章中,我们将介绍如何在C...
    99+
    2023-05-24
  • Linux安装Python环境
    linux系统环境自带python2.6,但有时我们项目使用的版本可能是3.x以上等等,此时我们需要在linux中再安装项目所需的python版本,此时就涉及多版本共存问题了,很多同学在安装多个版本Python时会遇到各种问题,本篇文章...
    99+
    2023-01-31
    环境 Linux Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作