【逆向】前期准备

移动设备

1. 设备解锁

1.1 Redmi 12C

参考: https://bbs.kanxue.com/thread-275982.htm

更新驱动
  1. 网址:https://www.mi.com/c/service/download/index.html
  2. 【手机驱动】 => 【MIUI V4或V5版本的小米手机驱动】
  3. 手机连接电脑后,【设备管理器】 => 【便携设备】 => 右键【Redmi 12C】 => 【更新驱动程序】 => 【浏览我的电脑以查找驱动程序】
绑定设备
  1. 绑定小米账号,【绑定账号和设备】
  2. 【设置】 => 【我的设备】 => 【全部参数】 => 多次点击【MIUI版本】(7次左右) => 开启开发者模式
  3. 【设置】 => 【更多设置】 => 【开发者选项】 => 【设备解锁状态】 => 【绑定账号和设备】
  • 设备解锁_Redmi 12C_坑[1]: 操作不当会导致锁定
    • 如果手机账号已绑定其余设备,然后
      1. 先在【设备解锁状态】中【绑定账号和设备】
      2. 再去【小米账号】重绑手机号
      3. 然后重新去【设备解锁状态】中【绑定账号和设备】
      4. 设备锁定 7 天左右
解锁
  1. 下载官方工具: https://www.miui.com/unlock/index.html
  2. 运行 miflash_unlock.exe,登录小米账号
  3. 在关机状态下同时按住 电源键音量减键,直到出现 FASTBOOT 界面。
  4. 连接至电脑,点击 【解锁】 => 【重启手机】

2. Magisk

2.1 前情提要

  1. Magisk 是什么?

    • 是由 topjohnwu 打造的开源框架软件,可以在修改系统功能的同时不会对系统本身造成破坏,但是 Magisk 更普遍的用途是作为获取和管理 Root 权限的工具。
  2. Magisk 与 Xposed 的异同

    • 二者的工作机制都是 拦截
      • Xposed 通过劫持 Android 系统的 zygote 进程来加载自定义功能,这就像是半路截杀,在应用运行之前就已经将我们需要的自定义内容强加在了系统进程当中。
      • Magisk 则另辟蹊径,通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。
    • 得益于独特的挂载机制,使用 Magisk 时我们可以有针对性地隐藏 root,甚至暂时隐藏 Magisk 本身。当被挂载的 Magisk 分区被隐藏甚至被取消挂载时,原有系统分区的完整性丝毫未损,玩需要 root 验证的游戏、运行对设备认证状态有要求的应用甚至进行需要验证系统完整性的 OTA 更新都没有任何问题。
    • 因此严格来说 Magisk 可以被看作是一种文件系统,这种文件系统通过巧妙的实现方式避开了对系统文件的直接修改,从稳定性上来看要优于以往任何一种系统框架,这也是当前它在玩机社区广受认可和好评的原因所在。
    • 由于挂载系统的存在,也让 Magisk 拥有了多样的模块化生态系统。
      • Magisk 既可以独立使用,只安装面具模块。也可以和 Xposed 框架结合起来使用,发掘更多的功能。理论上两者功能可以相互替代,但由于两者侧重点不同以及模块开发难度等原因,Magisk 更多用于对 系统 的修改,而 Xposed 更多用于对 用户软件 的修改。

2.2 安装流程

  1. 下载对应手机型号对应版本的官方镜像

    1. boot.img卡刷包 push 到手机 Download 目录下

      • adb push [] /storage/sdcard0/Download
      • 卡刷包主要是为了让手机的版本与解压的 boot.img 版本相同
    2. 手机下载 Magisk app

    3. Magisk 安装

      • 打开 Magisk,安装
      • 如果有 修补 boot 镜像中的 vbmeta,不勾选,直接 下一步
      • 选择并修补一个文件
      • 选中上传的 boot.img 文件,开始
      • 修补成功,输出到 /stroage/emulated/0/Download/magisk_patched-[版本号]_[随机].img
    4. 电脑下载 adb-fastboot,并解压

    5. boot.img 和 生成的 magisk_patched-xxxx.img 复制到 adb-fastboot/ 目录下

    6. 手机重启到 fastboot 模式

    7. 打开 打开CMD命令行.bat

      • 输入 fastboot flash boot [magisk_patched-xxxx.img]
    8. 出现下面这三行代码,就算成功

      Sending 'boot' (131072 KB) OKAY [ 3.311s]
      Writing 'boot' OKAY [ 0.441s]
      Finished. Total time: 3.794s
      
    9. 重启手机,Magisk 显示版本,就算是成功

2.3 Riru 模块安装

  • Riru 并不是单独一个 Magisk 模块,而是由国内独立开发者 Rikka 开发的一套模块系列。Riru 神奇的地方在于,它部分地达成 Xposed 那样的功能,能够自定义到一部分的应用。
    • Android 上所有正在运行的应用程序都是通过 zygote 创造出来的,而 Riru 正是通过替换一个会被 zygote 进程加载的共享库,来达到劫持应用、让应用进程执行模块代码的目的。
  • 为什么是一套?
    • 为了避免一群模块都去抢占那个要被替换的共享库,先派遣一个模块(也是 Riru Core 核心)去负责替换,再由那个核心模块提供 API 给其他模块,以让其他那些有需要模块都能正常工作、顺利生效。
    • 从这样的原理看,想要使用 Riru 系列模块,Riru Core 是必须安装的,然后需要用户按照自己的需求安装 Riru 系列的其他模块。
  • 安装流程
    1. 下载 riru
    2. push 到手机中,并打开 Magisk
      • adb push [] /storage/sdcard0/Download
    3. 模块从本地安装
    4. 选中对应文件,安装完成后,重启

2.4 FoxMagiskModuleManager.apk & Move Certificates 模块安装

  • 用途:将用户证书移动到系统证书的根目录下。

  • 高版本的 Magisk 已经不支持在线安装模块,使用 FoxMagiskModuleManager 替代

  • 安装流程(删)

    1. 查看手机版本,并下载对应的 FoxMagiskModuleManager
      • 查看版本:adb shell getprop ro.product.cpu.abi
      • 安装 apk:adb install -t []
    2. 首次启动设置完成后,Online,搜索 Move Certificates,下载/安装~
    3. 重启手机
  • 目前(2023.05.05),FoxMagiskModuleManager 上下载的 Move Certificatesys1231v1.3 版本。Redmi 12C 上无效。

  • 安装流程

    1. Magisk-Modules-Repo 上下载 movecert
    2. Releases 中有 v1.9 版本,不过该版本有 Bug。
    3. movecert.zip 文件推送到手机中。
    4. Magisk 上安装,重启。

2.5 LSPosed 模块安装

需求:1. 系统:Android 8.1 - 12; 2. 已安装 v21 以上版本的 Magisk Manager;3. Riru 模块 v23+

  • 前情提要
    • Xposed 框架是一款可以在不修改 APK 的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,我们可以加载很多插件 App(模块),这些插件 App 都有各自各种各样的功能。
    • Xposed 停止更新了(安卓10及其以后的版本不支持),作者将该项目移交给了 EdXpose 继续维护
  • LSPosedEdXposed
    • LSPosedEdxposed 的一个分支,相比于 EdXposed,它精简了许多, 也要比后者流畅的多、省电的多。
    • Edxposed 面临着停更的风险,且稳定性欠佳,Lsposed 则可以保证长期更新,并会持续加入新的功能。
    • 它并不是一个传统的 Xposed 管理器,它作为一个 Magisk 模块刷入设备运行,安装风险也比传统 Xposed 管理器小很多。
    • LSPosed继承了 Xposed 的模块仓库,仓库内模块都是开源模块,安全性有了保证。
    • LSPosed 本身也与时俱进,使用了 Material You 设计语言,支持 安卓 12 的 Monet(莫奈)取色,更美观
    • 模块可以针对单独软件开启稳定性更高:传统 Xposed 激活后会对所有应用生效,而 LSPosed 激活后只对选中应用生效
    • 不要为一个应用启用太多模块,会拖累应用的运行速度,偶尔也会产生意想不到的 bug
  • 安装流程
    1. 根据 Magisk 的版本下载对应的 LSPosed
      • riru 版本对应 riru 版的 Magiskzygisk 则对应 zygisk 版本的
    2. push 到手机中,并打开 Magisk
      • adb push [] /storage/sdcard0/Download
    3. 设置不开启 Zygisk
    4. 模块从本地安装
    5. 选中对应文件,安装完成后,重启
    6. 重启后,如果界面上没有对应的图标
      1. 拨号中输入:*#*#5776733#*#*
      2. LSPosed 模块压缩包解压,直接安装 LSPosed 管理器 APP
  • 使用方法
    • 下载安装需要的 apk 文件
    • 打开 LSPosed模块启用模块,勾选需要起作用的作用域
    • 重启(部分模块需要重启)

常用命令(后期迁移至其他地方)

ADB

  1. 将文件推送至手机
    • adb push [文件] [路径]
  2. 安装 APK 文件
    • adb install -t [apk]
    • -t 为强制安装
  3. 查看手机当前界面
    • adb shell => dumpsys window | grep mCurrentFocus
  4. 查看手机系统版本
    • adb shell getprop ro.product.cpu.abi

技巧

利用 clash 进行抓包

clash + Burp Suite

下载地址

Android 流程

前置条件:Android 设备需要有 Magisk 中的 Move Certificates 模块

  • 原理
    • 通过设置 clash 进行抓包,安卓设备可以通过 adb reverse 将电脑的某个端口映射到 Android 设备上。
  • 流程
    1. PC 上启动 Burp Suite
      1. ProxyProxy settings
      2. Proxy listeners 中新增 127.0.0.1:8084
      3. Import / export CA certificateExport 下的 Certificate in DER format,保存至本地
      4. 推送到手机中
      5. 设置安全更多安全加密与凭证安装证书CA 证书
      6. 添加完证书后,重启设备即可
      • 技巧_利用 clash 进行抓包_坑[1]: Redmi 12CFoxMagiskModuleManager 下载的 Move Certificates 证书迁移失败,跳转至详情
    2. 查看 Android 系统版本,下载对应的 apk 文件,foss 版本即可。
      • adb shell getprop ro.product.cpu.abi
    3. 编写 clash 的配置文件 config.yaml,并推送到 sdcard/Donwload 目录
      •   mixed-port: 7890
          allow-lan: false
          mode: global
          log-level: info
          external-controller: 127.0.0.1:9090
          proxies:
            - name: "burp"
              type: http
              server: 127.0.0.1
              port: 8084
          proxy-groups:
            - name: Proxy
              type: select
              proxies:
                - burp
        
        • 由于最后将利用 adb reverse 将 PC 端口反向映射到 Android,因此 proxies 中的 server127.0.0.1
        • 其余情况,可以根据具体需求修改对应的 serverport
      • adb push config.yaml /storage/sdcard0/Download
    4. Android 打开 clash
      1. 配置创建配置从文件导入
      2. 修改 名称浏览文件 选中 config.yaml
      3. 保存 后,启用配置文件
      4. 启动代理后,选择 GLOBAL 下的 burp
    5. cmd.exe 中开启反向映射,Burp 即可抓包
      • adb reverse tcp:8084 tcp8084

未完待续~

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值