草庐IT

微信小程序抓包-夜神模拟器结合BurpSuite抓包(可用于现在最新版本微信)

未成年梦想 2023-04-14 原文

警告

  • 2023年3月23日18.37.46:很多人说网络错误,目前我再次自己试过了,都没有出现这个问题,如果害怕出现网络异常等情况,就不要看下去了

前置

  • 使用到工具

    • burp绿色免装jdk版
      • 百度网盘:链接:https://pan.baidu.com/s/1y7KuzSg_SKmtEP4OTRycwg?pwd=52pj 提取码:52pj
      • 夸克盘: https://pan.quark.cn/s/220e34228d8b#/list/share
  • 参考文章

https://blog.csdn.net/qq_34498872/article/details/122469329

https://www.52pojie.cn/forum.php?mod=viewthread&tid=1617968&highlight=BurpSuite

https://blog.csdn.net/qq_44029310/article/details/126017134

开始教程

1.安装夜神模拟器并下载安装微信

  • 官网下就可以

    • https://www.yeshen.com/
  • 记得安装微信

    • 截止发这篇博客的时候,微信版本为8.0.3
  • 安装好微信后登录自己微信

2.查看电脑ip地址并在burp当中添加

  • 比如我的ip地址为192.168.200.65

  • 按照图片上步骤添加自己的ip,端口设置为8888

3.夜神模拟器修改WiFi代理

  • 输入自己电脑的ip地址和更改burp设置的端口号

4.pc,pc,pc浏览器下载证书

  • pc端浏览器输入证书网站192.168.200.65:8888(不同的ip不同,根据刚刚设置来决定)

5.window安装OpenSSL

5.1安装

  • 这一步好像可以跳过,直接把转换后的per证书名称改为9a5ba575.0即可,我看另外一个人的教程计算生成出来的结果和这个一样,可能是统一的吧

  • 下载网站

    • http://slproweb.com/products/Win32OpenSSL.html
  • 单击这个EXE或者MSI,然后安装的时候一直下一步即可

5.2配置环境

  • 安装完成后就要配置运行环境了

  • 也可以参考这文章

    • https://blog.csdn.net/wuliang20/article/details/121014060
  • OpenSSL默认的安装路径我这里是

C:\Program Files\OpenSSL-Win64\bin
  • 我们就新建环境变量OPENSSL_HOME
  • 值为C:\Program Files\OpenSSL-Win64\bin
    • 注意,不要漏掉了bin

  • 向环境变量path添加%OPENSSL_HOME%

  • 测试安装是否成功

6.der证书转换为pem证书

1.可以用在线版本

  • http://web.chacuo.net/netsslcer2pem

2.也可以使用openssl来转换

openssl x509 -inform der -in cacert.der -out cacert.pem

转换效果是一样的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jA3cj8x-1679567908039)(null)]

7.查看hash表示并修改pem文件名字为 hash标识.0

  • 查看hash标识:pem证书所在目录下运行当前命令,文件名称需要改为自己对应的文件名称,记录下9a5ba575
openssl x509 -subject_hash_old -in cacert.pem

  • 将生成的pem格式的文件的文件名称改为9a5ba575.0

8.打开模拟器,把开发者模式打开

  • 打开设置-关于平板电脑,找到版本号,单击五次版本号进入开发者模式

9.打开usb调试模式

  • 打开开发者模式后,然后点击返回键,回到上一级的设置界面,可以看到多出一个“开发者选项”了。

  • 点进去开启USB调试。
    • 下图为已开启usb调试

10.移动证书

  • 打开文件资源管理器,进入夜神模拟器的安装目录,找到nox_adb.exe程序,或者直接everything搜索

  • 如果是雷电模拟器,可能就是这个名字了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wtzTYSH-1679567905750)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20230323163034769.png)]

  • 在ADB所在目录打开cmd命令行
  • 输入nox_adb.exe connect 127.0.0.1:62001即可以连接到adb,或者是adb connect 127.0.0.1:62001

  • nox_adb.exe connect 127.0.0.1:62001后面的62001为模拟器的端口号,不同的模拟器端口号不同,下面是常见的模拟器ABD端口
模拟器端口号
网易MuMu模拟器7555
夜神安卓模拟器62001
逍遥安卓模拟器21503
蓝叠安卓模拟器5555
雷电安卓模拟器5555
天天安卓模拟器5037
安卓模拟器大师54001
腾讯手游助手5555
  • 此时直接 adb devices 命令即可显示夜神模拟器设备信息了

  • 把证书放到nox_adb.exe所在目录下

  • 然后依次执行以下命令,在查看系统证书就会发现成功安装。
adb root // 提升到root权限
adb remount // 重新挂载system分区

 //将证书放到系统证书目录 注意文件名是自己的文件名
adb push 9a5ba575.0 /system/etc/security/cacerts/      

11.完成

  • 抓包效果

burp抓包结果中文乱码的问题

  • 修改下字体和编码类型即可

有关微信小程序抓包-夜神模拟器结合BurpSuite抓包(可用于现在最新版本微信)的更多相关文章

  1. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  2. ruby-on-rails - 如何使辅助方法在 Rails 集成测试中可用? - 2

    我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel

  3. 微信小程序通过字典表匹配对应数据 - 2

    前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  6. ruby-on-rails - 在这种情况下我如何模拟一个对象?没有明显的方法可以用模拟替换对象 - 2

    假设我在Store的模型中有这个非常简单的方法:defgeocode_addressloc=Store.geocode(address)self.lat=loc.latself.lng=loc.lngend如果我想编写一些不受地理编码服务影响的测试脚本,这些脚本可能已关闭、有限制或取决于我的互联网连接,我该如何模拟地理编码服务?如果我可以将地理编码对象传递到该方法中,那将很容易,但我不知道在这种情况下该怎么做。谢谢!特里斯坦 最佳答案 使用内置模拟和stub的rspecs,你可以做这样的事情:setupdo@subject=MyCl

  7. ruby - "public/protected/private"方法是如何实现的,我该如何模拟它? - 2

    在ruby中,你可以这样做:classThingpublicdeff1puts"f1"endprivatedeff2puts"f2"endpublicdeff3puts"f3"endprivatedeff4puts"f4"endend现在f1和f3是公共(public)的,f2和f4是私有(private)的。内部发生了什么,允许您调用一个类方法,然后更改方法定义?我怎样才能实现相同的功能(表面上是创建我自己的java之类的注释)例如...classThingfundeff1puts"hey"endnotfundeff2puts"hey"endendfun和notfun将更改以下函数定

  8. ruby - 在 RSpec 中 stub /模拟全局常量 - 2

    我有一个gem,它有一个根据Rails.env的不同行为的方法:defself.envifdefined?(Rails)Rails.envelsif...现在我想编写一个规范来测试这个代码路径。目前我是这样做的:Kernel.const_set(:Rails,nil)Rails.should_receive(:env).and_return('production')...没关系,只是感觉很丑。另一种方法是在spec_helper中声明:moduleRails;end而且效果也很好。但也许有更好的方法?理想情况下,这应该有效:rails=double('Rails')rails.sho

  9. ruby-on-rails - self 在 Rails 模型中的值(value)是什么?为什么没有明显的实例方法可用? - 2

    我的rails3.1.6应用程序中有一个自定义访问器方法,它为一个属性分配一个值,即使该值不存在。my_attr属性是一个序列化的哈希,除非为空白,否则应与给定值合并指定了值,在这种情况下,它将当前值设置为空值。(添加了检查以确保值是它们应该的值,但为简洁起见被删除,因为它们不是我的问题的一部分。)我的setter定义为:defmy_attr=(new_val)cur_val=read_attribute(:my_attr)#storecurrentvalue#makesureweareworkingwithahash,andresetvalueifablankvalueisgiven

  10. ruby-on-rails - rspec 模拟对象属性赋值 - 2

    我有一个rspec模拟对象,一个值赋给了属性。我正在努力在我的rspec测试中满足这种期望。只是想知道语法是什么?代码:defcreate@new_campaign=AdCampaign.new(params[:new_campaign])@new_campaign.creationDate="#{Time.now.year}/#{Time.now.mon}/#{Time.now.day}"if@new_campaign.saveflash[:status]="Success"elseflash[:status]="Failed"endend测试it"shouldabletocreat

随机推荐