本文提供了两种方式,您可以二选一试试,方式一通用性强,推荐使用。
----------------------------------------------------
****方式1
设置代理#
先设置好代理端,在设置Android端;
Burp Suite代理端设置#
修改代理监听,选择这个具体地址(Specific address)。注意,Android端也得修改成这个IP。
Android端设置#
找到网络,然后修改网络,
保存修改就OK了。
发现证书问题#
当访问类似https://m.baidu.com/ 这种https网站时就会报错。现在互联网企业的业务基本也使用https来防止中间人攻击了。发现问题,解决问题,那么下面介绍怎么安装证书,其实和Firefox浏览器安装证书是一样的原理,但是Android在细节步骤上有些不一样,下面是步骤。
先导出cacert.cer证书#
默认是导出cacert.der
自己写上文件名
提示导出成功。
去导出路径看看,文件是否存在。
传送到Android端#
传送到Android有好几种方法,我以前使用QQ传输,后来发现有adb工具之后,发现太方便了,还能指定路径,一般放到SD卡(外部可访问路径)即可。
Copy
adb push D:\cacert.cer /sdcard/
D:\cacert.cer: 1 file pushed. 0.2 MB/s (973 bytes in 0.004s) // 提示只用了0.004秒 就传输好了,比QQ牛逼一百倍;
使用Android自带的工具查看文件:
Android安装CA证书#
在设置里面搜索安全,
选择你的路径
测试HTTPS#
安装好CA证书之后,访问一下HTTPS看看
抓包成功。
如果上述还不管用,你可以尝试下面的方式2
----------------------------------------------------
****方式2
一、证书操作
1、查看证书
① 查看crt\der格式证书
openssl x509 -in FiddlerRoot.crt -inform DER -noout -text
② 查看pem证书
openssl x509 -in certificate.pem -inform pem -noout -text
2、证书转换
① crt/der转pem
openssl x509 -in FiddlerRoot.crt -inform DER -out certificate.pem -outform PEM
② pem转der/crt
openssl x509 -in certificate.pem -inform PEM -out FiddlerRoot.der -outform DER
二、Android 7.0+导入ca证书 (设备需要ROOT)
1、将Burp_Suite 或者 Fiddler 等 根证书导出来
2、导出的一般是der格式,需要转成pem,转换方法参见 本文步骤一
3、将pem 格式证书重命名 为 c06587b6.0 格式, 其中 c06587b6通过以下命令取得:
openssl x509 -subject_hash_old -in certificate.pem
会输出证书的哈希值,如c06587b6,得到的第一行c06587b6将作为证书的文件名,将charles的证书改名为c06587b6,为什么要加.0是因为防止文件名冲突,如果你的根证书文件夹里面已经有这个文件名了,那就将.0 改为 .1,以此类推
4、新开cmd,执行:
adb root
adb remount
adb push c06587b6.0 /system/etc/security/cacerts/
adb shell
cd /system/etc/security/cacerts/
chmod 644 c06587b6.0
reboot
如果上述命令不行,你可以参考另一篇文章的 抓包安卓7以上ca证书安装方法 - 知乎(上述成功的,下面的不用执行了。):
adb root
adb remount
adb push 8efb32d4.0 /sdcard/
adb shell
su
mount -o rw,remount /system
mv /sdcard/8efb32d4.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/8efb32d4.0
reboot
证书导入完成 了。设备自动重启后,在手机“设置-》安全和隐私-》加密与凭据-》信任的凭据” 里查看有没有吧~
使用.jks转为.pfx
openssl pkcs12 -export -in client1.crt -inkey client1.key -out client1.pfx
使用.pfx转换.jks
JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin (转换后文件存放在相应目录下。)
创建PFX格式证书(pkcs12 )
openssl pkcs12 -export -in my.cer -inkey my.key -out mycert.pfx
证书编码格式转换#PEM to DER
openssl x509 -in cert.crt -outform der -out cert.der
#DER to PEM
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
----------------------
三、我Android手机【安全和隐私】-》【加密与凭据】-》【用户凭据】 里上有很多垃圾、不用的证书文件,如何删除?
1、尝试在“加密与凭据”页面,点击“清除凭据”删除。
2、需要root权限方可删除,直接进目录删除:
/data/misc/keystore/user_0/
里面可能有多个,自己酌情删除!
------------
补充参考:
ls -l /dev/block/by-name
mount -o rw,remount /
mount -o rw,remount /system
mount -o rw,remount /dev/block/dm-0 /system
mount -o rw,remount /sys
----
adb disable-verity
setenforce 0
mount -o rw,remount /
cp su /sbin/su
cp supolicy /sbin/supolicy
cp magiskinit /sbin/magiskpolicy
ln -fs magiskpolicy /sbin/magisk
chmod -R 755 /sbin/
magiskpolicy --live --magisk "allow magisk * * *"
export PATH=/sbin:$PATH