xposed、root、recovery介绍

Xposed最高支持安卓8,安卓8以后开始流行Edxposed,【太极(taichi)『闭源,可通过修改应用达到hook』】,安卓10以后开始流行Lsposed,目前兼容性较好的是Lsposed。

root方面,安卓4.4以前几乎都是什么百度root,360root,还有Kingroot一直持续到安卓5.1,自此安卓安全性提高【其实就是山寨机少了,厂商也都注重安全性,开始给系统上锁,也就是Bootloader锁俗称(BL锁)】,通过系统漏洞一键root就此过时,然后就是SuperSU通过三方rec进行root(远离就是把必要的su二进制文件放入系统分区,即修改system分区),但也几乎仅仅支持到安卓6/7的时代,之后一直是Magisk【通过修改Boot分区,将所需文件和命令放入data分区,通过链接命令达到不修改System文件而做到root和修改(修饰)system】占据主流。

顺带说一下,目前流行rec为TWRP☞『twrp.me』,截止出厂安卓10的手机以前都是Twrp最为三方rec(Twrp官方团队多有适配),但是自从安卓10甚至安卓9以来,TWRP官方就很少适配新手机了『因为安卓10的动态分区』,但是作为一个开源项目,有人自行适配twrp,但总归可能会有一些毛病。

雷电

参考:https://blog.csdn.net/weixin_44183483/article/details/118931351

如何判断雷电多少位

1、根据图标
64的图标是这样的 雷电、mumu、夜神安装xposed框架 - 图1 32位是这样的 雷电、mumu、夜神安装xposed框架 - 图2
2、根据程序的二进制文件中enum IMAGE_MACHINE Machine字段为i386
image.png

安装

参考:
雷电64位安装xp框架
https://www.52pojie.cn/thread-1308953-1-1.html
(出处: 吾爱破解论坛)
雷电模拟器4.0(android 7.1 x86_64) xposed安装
https://www.52pojie.cn/thread-1255866-1-1.html
(出处: 吾爱破解论坛)

下载xposed框架的地址:https://dl-xda.xposed.info/framework/sdk25/x86/
api25:xposed-v89-sdk25-x86.zip
刷写的脚本:scrapy.sh

  1. ##########################################################################################
  2. #
  3. # Xposed framework installer zip.
  4. #
  5. # This script installs the Xposed framework files to the system partition.
  6. # The Xposed Installer app is needed as well to manage the installed modules.
  7. #
  8. ##########################################################################################
  9. grep_prop() {
  10. REGEX="s/^$1=//p"
  11. shift
  12. FILES=$@
  13. if [ -z "$FILES" ]; then
  14. FILES='/system/build.prop'
  15. fi
  16. cat $FILES 2>/dev/null | sed -n $REGEX | head -n 1
  17. }
  18. android_version() {
  19. case $1 in
  20. 15) echo '4.0 / SDK'$1;;
  21. 16) echo '4.1 / SDK'$1;;
  22. 17) echo '4.2 / SDK'$1;;
  23. 18) echo '4.3 / SDK'$1;;
  24. 19) echo '4.4 / SDK'$1;;
  25. 21) echo '5.0 / SDK'$1;;
  26. 22) echo '5.1 / SDK'$1;;
  27. 23) echo '6.0 / SDK'$1;;
  28. 24) echo '7.0 / SDK'$1;;
  29. 25) echo '7.1 / SDK'$1;;
  30. 26) echo '8.0 / SDK'$1;;
  31. 27) echo '8.1 / SDK'$1;;
  32. *) echo 'SDK'$1;;
  33. esac
  34. }
  35. cp_perm() {
  36. cp -f $1 $2 || exit 1
  37. set_perm $2 $3 $4 $5 $6
  38. }
  39. set_perm() {
  40. chown $2:$3 $1 || exit 1
  41. chmod $4 $1 || exit 1
  42. if [ "$5" ]; then
  43. chcon $5 $1 2>/dev/null
  44. else
  45. chcon 'u:object_r:system_file:s0' $1 2>/dev/null
  46. fi
  47. }
  48. install_nobackup() {
  49. cp_perm ./$1 $1 $2 $3 $4 $5
  50. }
  51. install_and_link() {
  52. TARGET=$1
  53. XPOSED="${1}_xposed"
  54. BACKUP="${1}_original"
  55. if [ ! -f ./$XPOSED ]; then
  56. return
  57. fi
  58. cp_perm ./$XPOSED $XPOSED $2 $3 $4 $5
  59. if [ ! -f $BACKUP ]; then
  60. mv $TARGET $BACKUP || exit 1
  61. ln -s $XPOSED $TARGET || exit 1
  62. chcon -h 'u:object_r:system_file:s0' $TARGET 2>/dev/null
  63. fi
  64. }
  65. install_overwrite() {
  66. TARGET=$1
  67. if [ ! -f ./$TARGET ]; then
  68. return
  69. fi
  70. BACKUP="${1}.orig"
  71. NO_ORIG="${1}.no_orig"
  72. if [ ! -f $TARGET ]; then
  73. touch $NO_ORIG || exit 1
  74. set_perm $NO_ORIG 0 0 600
  75. elif [ -f $BACKUP ]; then
  76. rm -f $TARGET
  77. gzip $BACKUP || exit 1
  78. set_perm "${BACKUP}.gz" 0 0 600
  79. elif [ ! -f "${BACKUP}.gz" -a ! -f $NO_ORIG ]; then
  80. mv $TARGET $BACKUP || exit 1
  81. gzip $BACKUP || exit 1
  82. set_perm "${BACKUP}.gz" 0 0 600
  83. fi
  84. cp_perm ./$TARGET $TARGET $2 $3 $4 $5
  85. }
  86. ##########################################################################################
  87. echo "**************************"
  88. echo "Xposed framework installer"
  89. echo "**************************"
  90. if [ ! -f "system/xposed.prop" ]; then
  91. echo "! Failed: Extracted file system/xposed.prop not found!"
  92. exit 1
  93. fi
  94. echo "- Checking environment"
  95. API=$(grep_prop ro.build.version.sdk)
  96. APINAME=$(android_version $API)
  97. ABI=$(grep_prop ro.product.cpu.abi | cut -c-3)
  98. ABI2=$(grep_prop ro.product.cpu.abi2 | cut -c-3)
  99. ABILONG=$(grep_prop ro.product.cpu.abi)
  100. XVERSION=$(grep_prop version system/xposed.prop)
  101. XARCH=$(grep_prop arch system/xposed.prop)
  102. XMINSDK=$(grep_prop minsdk system/xposed.prop)
  103. XMAXSDK=$(grep_prop maxsdk system/xposed.prop)
  104. XEXPECTEDSDK=$(android_version $XMINSDK)
  105. if [ "$XMINSDK" != "$XMAXSDK" ]; then
  106. XEXPECTEDSDK=$XEXPECTEDSDK' - '$(android_version $XMAXSDK)
  107. fi
  108. ARCH=arm
  109. IS64BIT=
  110. if [ "$ABI" = "x86" ]; then ARCH=x86; fi;
  111. if [ "$ABI2" = "x86" ]; then ARCH=x86; fi;
  112. if [ "$API" -ge "21" ]; then
  113. if [ "$ABILONG" = "arm64-v8a" ]; then ARCH=arm64; IS64BIT=1; fi;
  114. if [ "$ABILONG" = "x86_64" ]; then ARCH=x86_64; IS64BIT=1; fi;
  115. fi
  116. # echo "DBG [$API] [$ABI] [$ABI2] [$ABILONG] [$ARCH] [$XARCH] [$XMINSDK] [$XMAXSDK] [$XVERSION]"
  117. echo " Xposed version: $XVERSION"
  118. XVALID=
  119. if [ "$ARCH" = "$XARCH" ]; then
  120. if [ "$API" -ge "$XMINSDK" ]; then
  121. if [ "$API" -le "$XMAXSDK" ]; then
  122. XVALID=1
  123. else
  124. echo "! Wrong Android version: $APINAME"
  125. echo "! This file is for: $XEXPECTEDSDK"
  126. fi
  127. else
  128. echo "! Wrong Android version: $APINAME"
  129. echo "! This file is for: $XEXPECTEDSDK"
  130. fi
  131. else
  132. echo "! Wrong platform: $ARCH"
  133. echo "! This file is for: $XARCH"
  134. fi
  135. if [ -z $XVALID ]; then
  136. echo "! Please download the correct package"
  137. echo "! for your platform/ROM!"
  138. exit 1
  139. fi
  140. echo "- Placing files"
  141. install_nobackup /system/xposed.prop 0 0 0644
  142. install_nobackup /system/framework/XposedBridge.jar 0 0 0644
  143. install_and_link /system/bin/app_process32 0 2000 0755 u:object_r:zygote_exec:s0
  144. install_overwrite /system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0
  145. install_overwrite /system/bin/oatdump 0 2000 0755
  146. install_overwrite /system/bin/patchoat 0 2000 0755 u:object_r:dex2oat_exec:s0
  147. install_overwrite /system/lib/libart.so 0 0 0644
  148. install_overwrite /system/lib/libart-compiler.so 0 0 0644
  149. install_overwrite /system/lib/libsigchain.so 0 0 0644
  150. install_nobackup /system/lib/libxposed_art.so 0 0 0644
  151. if [ $IS64BIT ]; then
  152. install_and_link /system/bin/app_process64 0 2000 0755 u:object_r:zygote_exec:s0
  153. install_overwrite /system/lib64/libart.so 0 0 0644
  154. install_overwrite /system/lib64/libart-compiler.so 0 0 0644
  155. install_overwrite /system/lib64/libart-disassembler.so 0 0 0644
  156. install_overwrite /system/lib64/libsigchain.so 0 0 0644
  157. install_nobackup /system/lib64/libxposed_art.so 0 0 0644
  158. fi
  159. mkdir -p /system/priv-app/XposedInstaller
  160. chmod 0755 /system/priv-app/XposedInstaller
  161. chcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller
  162. cp system/priv-app/XposedInstaller/XposedInstaller.apk /system/priv-app/XposedInstaller/XposedInstaller.apk
  163. chmod 0644 /system/priv-app/XposedInstaller/XposedInstaller.apk
  164. chcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller/XposedInstaller.apk
  165. if [ "$API" -ge "22" ]; then
  166. find /system /vendor -type f -name '*.odex.gz' 2>/dev/null | while read f; do mv "$f" "$f.xposed"; done
  167. fi
  168. echo "- Done"
  169. exit 0

image.png

mumu

夜神

参考:https://www.cnblogs.com/angelyan/p/13782713.html
xposed安装包:XposedInstaller_3.1.5.rar
模拟器开启安卓5
image.png
安装上面的xposed安装包,不要用其他安装包,本人测试新版的xposed不能使用
我在酷安商店下载安装会失败
image.png

image.png
上面的神盾xposed则提示成功
image.png