安卓7以上抓包证书安装

安卓7以上抓包证书安装


前提是要root过了,如果是模拟器就很容易开启

前提:要有openssl工具,在linux一个指令就可以下载了:sudo apt-get install openssl,windons则是在https://www.openssl.org/下载

先把证书导出,我这里是使用的fiddler,假设证书名为fiddler.cer

  1. openssl x509 -inform DER -in fiddler.cer -out fiddler.pem 转为pem
  2. openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1     获取hash值
  3. cat fiddler.pem > 刚才计算的hash值.0     
    这里目的是将fiddler.cer名字改为hash值,后缀为.0
  4. 利用adb 将这个后缀为.0的文件传入手机 /system/etc/security/cacerts/,对应指令为
    adb push 文件地址 /system/etc/security/cacerts如果传不成功,在模拟器设置开启root,并且让adb拥有root权限--》adb root
  5. 将刚才的证书修改最高权限
    adb shell chmod 777 /system/etc//security/cacerts/哈希值.0

fiddler 用户可以直接试试这个文件

如果你是用fiddler不想自己手动转为指定格式,可以试试看利用我这里已经创建好的文件,但是我也不知道,证书会不会随着fiddler版本而更新变化。我使用的版本为5.0.20245.10105
不喜欢用系统带的文件上传功能,每个人下载还要会员!open source
文件名:269953fb.0
内容:

-----BEGIN CERTIFICATE-----
MIIDsjCCApqgAwIBAgIQWebaQtTOKpJF3aZKDD0MBjANBgkqhkiG9w0BAQsFADBn
MSswKQYDVQQLDCJDcmVhdGVkIGJ5IGh0dHA6Ly93d3cuZmlkZGxlcjIuY29tMRUw
EwYDVQQKDAxET19OT1RfVFJVU1QxITAfBgNVBAMMGERPX05PVF9UUlVTVF9GaWRk
bGVyUm9vdDAeFw0yNDEyMTMyMTA1MDBaFw0yNzAzMTMyMTA1MDBaMGcxKzApBgNV
BAsMIkNyZWF0ZWQgYnkgaHR0cDovL3d3dy5maWRkbGVyMi5jb20xFTATBgNVBAoM
DERPX05PVF9UUlVTVDEhMB8GA1UEAwwYRE9fTk9UX1RSVVNUX0ZpZGRsZXJSb290
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZT0jhMWVge1JPdk/+T+
gTtMVmXP3+n7IYwBUNbPwg+EGbPTt+zSpXRcWCVwYgSMhIGmeSIvHdlwLZXUnnJT
FZFjaf3v8ChOWsDtXSKFQI8nAaf0Hpx3lUE9M7ylWqya1ZOXK4toLbeOtlkR5Nwq
/jlW0NlaW/6X3lTm9y0A0YYn4HSkCMhTqihoJ2qL03tuaiQlP1QSo7/2ymjl2YJX
w0C+lHlEKGHMI/pxJ4hS28A2SPFo3Y3TqOxOic4g2bN7QpZHgb3BnvKKQhd39Hwx
O8BVo7tkbCIDg3kPH1e97q5rtCWRtr1jOUIF03EsMirxi8VbVwbXNYhC7LGLy28z
xQIDAQABo1owWDATBgNVHSUEDDAKBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBQYHPlDQ74d0CFCT69HnEU5VvxKRTAOBgNVHQ8BAf8EBAMC
AQYwDQYJKoZIhvcNAQELBQADggEBAJiDKDC5Z1AvM2nmmZEGvYO2LekAjfBT3EIr
18OTX6DdUTPfgVW22ai8ddryFv8px/We+UmdC3esjpd5aXqEBgaITT7PnAhE6Hkj
BQbpdCWCBdGP8bn3KF5XTIp9cjJIw43qdn/I27WpsLKeRTjgXpuI95yjxCOoe0zh
Lx7Wc+wWNeRZymZeWi+OoPBc1HPWT3xCKDr4i6ji9TAchRvxMkITB+s/3d9Avif3
pgkUyl2S48qTWg5gdAocCpsUkDruYEZwUpJBOOt+u1jw3TCwdWl3RG4CRzD0T85m
IGhdLpD6e828p2LbBnxZ+N7vslAHLwfZdlKuwqZnOyWCqrkD4K8=
-----END CERTIFICATE-----
### 解决安卓设备上使用Charles进行抓包时无法安装证书的问题 对于安卓设备上的Charles抓包遇到的证书安装失败问题,可以通过特定的方法来解决。由于从Android 7.0开始,默认情况下系统不再信任用户CA证书,这使得HTTPS流量拦截变得复杂化[^3]。 #### 方法一:利用Magisk模块实现证书移动 一种有效的方式是通过Magisk框架下的`movecert`模块操作。具体而言,先下载并准备好`movecert`压缩文件,随后按照如下流程执行: 1. 打开手机中的Magisk应用; 2. 进入“模块”选项卡; 3. 使用“从本地安装”的功能加载之前准备好的`movecert`压缩包; 4. 成功安装后,遵循提示重启装置; 5. 设备重新启动完毕之后,“用户证书”会被迁移至“系统证书”,此时可以在系统的安全设置->查看安全证书->系统中找到新增加的‘XK72 Ltd’证书,表明操作已完成且能够支持正常的SSL/TLS握手过程以便于后续的数据捕获工作[^1]。 这种方法适用于那些拥有root权限并且已经安装好Magisk环境的高级用户群体。 #### 方法二:手动处理证书兼容性和信任链路 如果上述方案不可行,则考虑调整Charles自身的根证书以及确保其被正确识别为受信实体。这里涉及到几个方面的工作: - **确认证书格式匹配**:根据目标平台的要求选用合适的编码方式(如PEM或DER),必要时借助OpenSSL工具来进行相互间的转换。例如,当面对`.crt`形式而期望获得`.pem`版本时可采用命令 `openssl x509 -in charles.crt -inform DER -out charles.pem -outform PEM` 来达成目的[^5]。 - **增强应用程序级别的认证机制**:部分现代App可能启用了额外的安全策略阻止外部中间人攻击尝试,这时除了全局层面的信任建立外还需要针对单个软件做特殊设定以允许它们接受来自Charles代理服务器发出的身份验证请求[^4]。 综上所述,无论是采取自动化脚本辅助还是手工精细调校路径都能有效地克服因操作系统更新带来的挑战从而顺利完成网络通信分析任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值