抢两天想到将Charles的证书放到/system目录,不然一旦开启了抓包,其他应用就会无法访问网络,不想单独为了公司的域名单独配置Charles😅
因为我的手机是Google Pixel 4XL, Android 12 通过 Magisk 24.3 实现了root,所以一开始的想法是通过adb(这里adb被赋予了root权限)将Charles的证书移动到/system/etc/security/cacerts目录,想着很简单,毕竟adb是有权限的。
结果很打脸,出现了Read only file system,搜了一圈出现了很多的重新去挂载/system,甚至是根目录,依然不行,这里猜测是我的手机系统的build.type=user,没有继续在这个方向 深挖。
换了关键词搜索,看到应该是业界很知名的移动安全网-看雪上一篇文章,Charles 移动设备抓包 文章底部介绍了通过Magisk的项目结构添加到/system目录。
刚开始我以为是自己按照Magisk的模块结构自己写个插件的方式,今天复盘了点进Magisk Develop Guide看看,发现Magisk在系统启动的时候会自己加载一些文件,尤其是这句话:
system <--- This folder will be mounted if skip_mount does not exist
原文的结构
/data/adb/modules
├── .
├── .
|
├── $MODID <--- The folder is named with the ID of the module
│ │
│ │ *** Module Identity ***
│ │
│ ├── module.prop <--- This file stores the metadata of the module
│ │
│ │ *** Main Contents ***
│ │
│ ├── system <--- This folder will be mounted if skip_mount does not exist
│ │ ├── ...
│ │ ├── ...
│ │ └── ...
│ │
│ ├── zygisk <--- This folder contains the module's Zygisk native libraries
│ │ ├── arm64-v8a.so
│ │ ├── armeabi-v7a.so
│ │ ├── x86.so
│ │ ├── x86_64.so
│ │ └── unloaded <--- If exists, the native libraries are incompatible
│ │
│ │ *** Status Flags ***
│ │
│ ├── skip_mount <--- If exists, Magisk will NOT mount your system folder
│ ├── disable <--- If exists, the module will be disabled
│ ├── remove <--- If exists, the module will be removed next reboot
│ │
│ │ *** Optional Files ***
│ │
│ ├── post-fs-data.sh <--- This script will be executed in post-fs-data
│ ├── service.sh <--- This script will be executed in late_start service
| ├── uninstall.sh <--- This script will be executed when Magisk removes your module
│ ├── system.prop <--- Properties in this file will be loaded as system properties by resetprop
│ ├── sepolicy.rule <--- Additional custom sepolicy rules
│ │
│ │ *** Auto Generated, DO NOT MANUALLY CREATE OR MODIFY ***
│ │
│ ├── vendor <--- A symlink to $MODID/system/vendor
│ ├── product <--- A symlink to $MODID/system/product
│ ├── system_ext <--- A symlink to $MODID/system/system_ext
│ │
│ │ *** Any additional files / folders are allowed ***
│ │
│ ├── ...
│ └── ...
|
├── another_module
│ ├── .
│ └── .
├── .
├── .
即在/data/adb/modules/目录下,增加相同的目录,把文件复制进去,然后重启就可以在系统凭证里看到了。
成功后的目录欢迎分享,转载请注明来源:内存溢出
评论列表(0条)