• 使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)


    第一步:使用charles进行https抓包

    https://www.jianshu.com/p/7a88617ce80b   使用charles进行https抓包

     

    使用Charles进行HTTPS抓包(包括安装信任证书以及抓包 出现无法抓包unknown和证书无效解决方案)


    因为微信小程序都是https的请求,所以必须要能解析https,要解析https,就要证书

    最近很多同行使用第一步所说的配置之后,发现获取的https响应数据依然是乱码。所以,请进行第二步设置。

    第二步:Android 7.0 之后抓包 unknown 和证书无效的解决方案(无需改代码)

    https://blog.csdn.net/ShadowySpirits/article/details/79756274

    其中那个把用户证书改成系统证书的命令太风骚了,我忍不住要记下来:

    系统证书目录:/system/etc/security/cacerts/

    其中的每个证书的命名规则如下:
    <Certificate_Hash>.<Number>
    文件名是一个Hash值,而后缀是一个数字。

    文件名可以用下面的命令计算出来:

    openssl x509 -subject_hash_old -in <Certificate_File>        

    这个<Certificate_File> 就是你下载的证书的名字,你计算出hash值以后,就把原来证书的名字,就是这个<Certificate_File>,改成hash值点Number的格式(<Certificate_Hash>.<Number>的格式

    后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1


    操作步骤:

    将抓包软件的证书用上述命令计算出 Hash 值,将其改名并复制到系统证书目录

     

    此时你应该可以在 设置->安全->加密与凭据->信任的凭据 的系统标签页看到你新加入的证书,将其启用即可顺利抓包

    到这里了,其实还有个问题,用自己的手机去root,肯定不划算,如果手边苹果机也不好找的话,是不是就搞不成了?

    那也不是,办法总比困难多。

    这里可以选择使用《夜神模拟器》来代替手机,话说夜神模拟器还真的是不错,默认安装好就已经是root了的。

    你可以把证书文件下载到你电脑上,然后用上面说的那个命令计算出hash值(如果是windows,没法使用那个openssl命令,可以装一个Git bash,就可以用了),

    然后把证书文件拖到夜神模拟器里,此时文件会在夜神的一个非系统文件夹里,但我们是需要把它搞到系统证书文件夹里去的,夜神又没有移动文件的办法,怎么办呢?

    活人不可能被尿憋死,不能移我就新建一个嘛,反正只要这个证书串还是那个串就好了嘛。

    所以,打开拖到夜神模拟器里的那个证书文件,复制里面的证书串,然后到 系统证书文件夹(也就是/system/etc/security/cacerts/路径下)新建一个文件,改名称计算出来的那个hash串点Number即可。

    到这里了,必须要删除你之前用户模式下装的CA证书,你才能看到你刚才新建的系统CA在信任凭据列表里了。

    然后你还要把charles关掉,把夜神关掉,重启电脑,然后再把charles的 ssl proxy settings  设置为 域名* 端口*才行。不设还是会乱码。

    至此,才大工告成。

  • 相关阅读:
    DFS(深度优先搜索)
    dp动态规划 之 背包问题
    python选择排序的实现
    python冒泡排序实现
    python 数据类型
    SyntaxError: Missing parentheses in call to 'print'
    MFC位图传送错误之一
    SyntaxError :invalid syntax
    Python之命令行参数
    Python之print
  • 原文地址:https://www.cnblogs.com/macliu/p/11379480.html
Copyright © 2020-2023  润新知