为安卓系统(夜神模拟器)添加Mitmproxy证书

说明

Android证书分为“用户证书”和“系统证书”两种,在设置->安全->"查看安全证书"列表中,可以看到“系统”和“用户”两个列表。用户通过浏览器下载安装或者通过WLAN高级设置安装的证书均为用户证书。
安装为系统证书有什么好处呢?

(1)安装用户证书必须要设置开机密码,而且设置后就不能取消,除非先删掉所有的用户证书。如果安装为系统证书就不需要设置开机密码,自动化操作时更方便。
(2)Android 7以上版本APP默认不信任用户证书,只信任系统证书,安装为用户证书,对APP的HTTPS抓包会失败。安装为全局证书才能被所有APP信任,方可进行HTTPS抓包。

默认情况下,针对 Android 7.0+ (API level 24+) 的应用不再信任用户或管理员添加的CA证书来进行安全连接。(之前我们其实是将安全证书安装到安卓手机上作为用户信任安全证书,新版本如果APP开启了设置我们的代理请求会被认为是不安全的。)
Android的系统证书的存储位置是/system/etc/security/cacerts,证书文件必须是PEM格式,而且文件命名必须符合系统证书规范

二.安装过程

1.准备工作

1、准备一台已经 root的手机
2、准备mitmproxy证书文件
Windows 或者Linux 在mitmdump第一次运行会在用户目录生成对应的文件。
目录位于:C:\Users\Administrator\.mitmproxy

查看电脑是否成功连接到手机
adb devices -l #显示所有已连接的设备详细信息:127.0.0.1:62001

未连接则运行如下命令连接
adb connect 127.0.0.1:62001 #默认端口 

2.安装命令,在.mitmproxy目录下运行cmd

#PEM或者DER格式均可

#如果是PEM格式:
In: openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem -noout
out: c8750f0d

# 如果是DER格式:
In: openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer -noout
out: c8750f0d

若报错:无法定位序数4540于动态链接库LIBEAY32.dll上

1、程序依赖于libeay32.dll动态链接库时:

创建脚本:
@echo 开始注册
copy libeay32.dll %windir%\system32\
regsvr32 %windir%\system32\libeay32.dll /s
@echo libeay32.dll注册成功
@pause

2、程序不依赖于libeay32.dll动态链接库时:(无法定位序数一般情况下是不依赖)
找到系统目录下的该库文件将其改个名,例如win32下:
在系统盘的windows的system32下把libeay32.dll改成libeay32_old.dll,就OK了。

3、如果程序依赖于该动态库,而且该库已经损坏,则需要重新下载

3.重命名+推送至手机

# window重命名 为符合android规范名称
ren mitmproxy-ca-cert.pem c8750f0d.0

# 或 linux重命名
cp mitmproxy-ca-cert.pem c8750f0d.0


#传入手机
adb push c8750f0d.0 /sdcard

4.安装mitm证书到手机adb shell操作:

#获取手机的root权限
adb shell
su

#挂载系统目录为可写
mount -o rw,remount /
mv /sdcard/c8750f0d.0 /system/etc/security/cacerts

#修改证书权限
chmod 644 /system/etc/security/cacerts/c8750f0d.0

如果顺利,至此已经完成安装!

附完整过程
C:\Users\Administrator\.mitmproxy>openssl x509 -inform PEM -subject_hash_old -in
 mitmproxy-ca-cert.pem -noout
WARNING: can't open config file: G:\ade\build\sb_0-33460670-1554108734.74\openss
l-1.0.2r-windows-vs14-64bit\SSL/openssl.cnf
c8750f0d

C:\Users\Administrator\.mitmproxy>openssl x509 -inform PEM -subject_hash_old -in
 mitmproxy-ca-cert.pem -noout

C:\Users\Administrator\.mitmproxy>cp mitmproxy-ca-cert.pem c8750f0d.0
'cp' 不是内部或外部命令,也不是可运行的程序或批处理文件。

C:\Users\Administrator\.mitmproxy>ren mitmproxy-ca-cert.pem c8750f0d.0

C:\Users\Administrator\.mitmproxy>adb push c8750f0d.0 /sdcard
c8750f0d.0: 1 file pushed, 0 skipped. 0.0 MB/s (1318 bytes in 8.071s)

C:\Users\Administrator\.mitmproxy>adb shell
7[r[999;999H[6n8HWVOG:/ # su
HWVOG:/ # mount -o rw,remount /
HWVOG:/ # mv /sdcard/c8750f0d.0 /system/etc/security/cacerts
HWVOG:/ # chmod 644 /system/etc/security/cacerts/c8750f0d.0
HWVOG:/ # cat /system/build.prop | grep build.type
ro.build.type=user

5.查看是否成功:手机的设置——安全——凭据存储——信任的凭据(信任的CA证书)

其下应该有mitmproxy项
在这里插入图片描述

若2.4报错:'/dev/block/dm-0' is read-only

在次确认你是root(#)状态下后,你可以执行以下命令来你查看的android的构建类型,在 adb shell 输入

cat /system/build.prop | grep build.type

如若return的信息显示你是开发版,继续往下

对于调试版本,用户必须首先 disable-verity:

adb root
adb disable-verity
adb reboot
adb remount
adb shell
mount -o rw,remount /system

如果升级系统的话,可能需要重新拷入证书到系统目录。可以考虑将该证书做成magisk模块,这样升级系统后也无需重新拷入

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在夜神模拟器安装CA证书,你可以按照以下步骤进行操作: 1. 将证书文件复制到模拟器证书目录下。可以使用命令`adb push 9a5ba575/system/etc/security/cacerts/`将文件发送到模拟器的目录中。 2. 在模拟器中打开设置,然后进入安全选项。找到信任凭证,并点击进入。在这里,你可以查看是否成功安装证书。 3. 为了进行抓包,你需要设置好代理,并确保抓包工具成功运行。 除了以上方法,你还可以考虑使用夜神模拟器来解决这个问题。夜神模拟器是一款速度非常快的模拟器,其速度基本和真机无差,甚至还更快一些。 要使用夜神模拟器安装CA证书,你可以按照以下步骤进行操作: 1. 在MEmu目录下打开命令提示符,并输入命令`adb connect 127.0.0.1:62001`,连接到夜神模拟器的端口。 2. 输入命令`adb root`,以获取root权限。 3. 输入命令`adb remount`,以获取写入权限。 4. 使用命令`openssl x509 -subject_hash_old -in burp.pem`,获取证书的名称的hash结果。 5. 将证书文件改名为hash结果,并将该文件放入模拟器的MEmu目录中。 通过以上步骤,你可以在夜神模拟器中成功安装CA证书。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [夜神模拟器安装证书之burp抓包](https://blog.csdn.net/qq_40731934/article/details/124830493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [monkeyrunner之夜神模拟器安装与使用(2)](https://download.csdn.net/download/weixin_38746926/14022946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值