【微信】【Windows端】开启2024最新版微信内置浏览器Devtools调试窗口

▒ 目录 ▒

    • 🛫 导读
      • 需求
      • 开发环境
    • 1️⃣ 预备知识
      • 浏览器框架
      • 进程关系
    • 2️⃣ 逆向分析
      • 关键字`xweb-enable-inspect`
      • x64dbg分析
    • 3️⃣ 验证
      • 菜单按钮方式
      • 快捷键F12方式
      • 同时打开多个Devtools调试窗口
    • 🛬 文章小结
    • 📖 参考资料

🛫 导读

需求

微信浏览器分析,上篇讲的《【微信】实战Adnroid上的小程序调试https://blog.csdn.net/kinghzking/article/details/136509188》,虽然能够正常使用,但是保不准啥时候腾讯关闭了这个通道就失效了。
所以分析下windows上如何实现浏览器调试窗口Devtools,最终效果如下图所示:
在这里插入图片描述

开发环境

版本号描述
文章日期2024-03-08
操作系统Win11 - 22H222621.2715
WeChat.exe目录D:\Program Files (x86)\Tencent\WeChat小编使用的是[3.9.8.25]
WeChatAppEx.exe路径%APPDATA%\Tencent\WeChat\XPlugin\Plugins\RadiumWMPF\9079\extracted\runtime9079是版本号,这两天刚更新的

1️⃣ 预备知识

针对微信,使用了很多技术,这里简单的说下。

浏览器框架

  • electron
    腾讯最近几年大量产品用的都是electron,包含QQ等,至于为啥用这个就不深究了。
    对于微信,electron魔改成了WeChatAppEx.exe,该模块有如下特点:
    • 目前最新版本是9079
    • Chrome内核使用的116.0
    • 针对js的扩展,直接编译到了exe中,没有加载额外.node模块。
    • 没有所谓的asar文件,应该是魔改了这块逻辑。
    • 修改了Devtools,有两套:wechat_webwechat_app!!!
  • cef(旧版本)
    此方法适用于3.2.1版本微信,如不想回退版本,就不用往下看了。
    这个网上有很多教程,就不细说了,有兴趣的朋友,直接参考文章《如何在微信内置浏览器中开启开发者模式(f12) https://blog.csdn.net/qq_45863248/article/details/127688137》。

进程关系

微信有很多进程,本篇只讨论WeChat.exe和WeChatAppEx.exe。
在这里插入图片描述

版本号描述目录
WeChat.exe目录3.9.8.25关键字xweb-enable-inspect,开启浏览器调试按钮D:\Program Files (x86)\Tencent\WeChat\[3.9.8.25]
WeChatAppEx.exe路径9079控制小程序的调试(单独一篇文章写这个)%APPDATA%\Tencent\WeChat\XPlugin\Plugins\RadiumWMPF\9079\extracted\runtime

2️⃣ 逆向分析

关键字xweb-enable-inspect

这个是搜了很多文章,一个个试出来的,就这个好用。

x64dbg分析

  • 如下图123步骤,定位wechatwin.dll模块(通过CE定位到该模块的)。
    在这里插入图片描述
  • 按照下图所示,搜索当前模块字符串
    在这里插入图片描述
  • 如下图,在《引用》标签页下,在搜索框中输入xweb-enable-inspect,删选出结果(只有一项),双击该项,跳转到《CPU》标签页
    在这里插入图片描述
  • 代码1下断点,调试方式重新启动微信,无法触发该处断点,说明该处不是每次都触发的。
    那么我们向上找最近的跳转代码(代码2),下断点,调试方式重新启动微信,可以正常断下来,说明这个是个关键地方。
    尝试将je改为jne,继续执行,启动微信后,发现的确可以打开调试界面了!!!
    在这里插入图片描述

ps: 最后,再发一个IDA分析该代码的截图:
在这里插入图片描述

3️⃣ 验证

有如下两种方式打开调试界面

菜单按钮方式

在微信中,任意地方打开一个网页(图示为订阅号页面中点开的);
弹出窗口右上角点击三个点的菜单按钮;
最后点击检查菜单,即可打开调试窗口(导读中的那个Devtools图片)。
在这里插入图片描述

快捷键F12方式

这个就不多说了,直接按F12打开就行了。

同时打开多个Devtools调试窗口

在上面的图片中,显示了一个窗口,该窗口有两个页面。当打开任意一个页面的调试窗口后,我们无法打开另一个。

我们只需要将页面拖拽出来,变成多个窗口,然后打开调试窗口就可以了。(目测,这是微信的一个bug)。如下图所示:
在这里插入图片描述

🛬 文章小结

  • 本篇讲解修改内置浏览器的Devtools调试窗口,不包含小程序的Devtools调试窗口显示。
  • 微信魔改了Electron,可以参考Electron源码,直接注入打开调试窗口。
  • 微信经常更新,注意文中的版本问题。
  • 不必每次都调试修改调整逻辑,直接改二进制文件即可(后期frida控制内存修改更安全吧),如下图,改一个字节就可以了。
    在这里插入图片描述

📖 参考资料

  • WeChatOpenDevTools常更新版本: https://github.com/shuaibibobo/WeChatOpenDevTools
  • WeChatOpenDevTools某版本: https://github.com/x0tools/WeChatOpenDevTools
  • 微信视频号视频加密逆向 https://bbs.kanxue.com/thread-279740.htm
  • 修改6字节打开微信内置浏览器的F12 https://blog.seeflower.dev/archives/292/

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521580.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金现代产品方案部部长王宁,将出席“ISIG-低代码/零代码技术与应用发展峰会”

3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(LowCode低码时代、RPA中国、AIGC开放社区)主办。大会旨在聚合每一位产业成员的力量,深入探索低…

每日OJ题_牛客HJ87 密码强度等级(IO型OJ)

目录 牛客HJ87 密码强度等级 解析代码 牛客HJ87 密码强度等级 密码强度等级_牛客题霸_牛客网 题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二…

数字工厂管理系统如何帮助电子企业改善仓储难题

随着科技的飞速发展,电子企业面临着日益增长的仓储管理挑战。传统的仓储管理模式已经难以满足企业高效、准确、实时的管理需求,因此,数字工厂管理系统的引入成为解决这一难题的关键。数字工厂管理系统通过集成先进的信息技术,为电…

Unity零基础到进阶 | Unity中 屏蔽指定UI点击事件 的多种方法整理

Unity零基础到进阶 | Unity中 屏蔽指定UI点击事件 的多种方法整理一、Unity中 屏蔽透明区域的点击事件1.1 使用Image组件自带的参数检测1.2 根据点击的坐标计算该点的像素值是否满足阈值 二、Unity中屏蔽 不规则图片按钮点击的事件 总结 🎬 博客主页:htt…

​谷歌seo外链服务哪家好?

首先你要知道的,就是外链能起到的作用,不是说工具查一查外链数有增加就可以的,外链最重要的作用就是提升关键词排名,发的外链没有效果是没有任何意义的,而且外链基本上是一次性服务,服务完了没有效果完全就…

day9 指针 函数封装

1:在主函数定义字符数组,在自定义函数中实现字符串比较 4 int my_strcmp(char *a,char *b);5 int main(int argc, const char *argv[])6 {7 //strcmp 函数比叫ascii码值大小8 char a[10]"hello";9 char b[10]"helloo";1…

NTFS安全权限

NTFS是新技术文件系统(New Technology File System)的缩写,是一种用于Windows操作系统的文件系统。NTFS提供了高级的功能和性能,包括文件和目录的权限控制、加密、压缩以及日志等。它被广泛应用于Windows NT、Windows 2000、Windo…

神州大地人类来源猜想

在公元前2000年以前,伟大的中华民族还是石器时代,我们有很多美好的神话和传说,三皇五帝就是这个时代伟大部落或者部落首领的故事。 关于人类的历史,从基因学上最新的研究成果大概是这样的,虽然从300万年前就诞生了人类…

波卡 Alpha 计划启动,呼唤先锋创新者重新定义 Web3 开发

原文:https://polkadot.network/blog/the-polkadot-alpha-program-a-new-era-for-decentralized-building-collaboration/ 编译:OneBlock 区块链领域不断发展,随之而来的是发展和创新机会的增加。而最新里程碑是令人振奋的 Polkadot Alpha …

Hi3516DV500+SC2210 AIISP 黑光相机

1. Hi3516DV500 Hi3516DV500是一颗面向行业市场推出的高清智能网络摄像头SoC。该芯片最高支持2路sensor输入,支持最高5M30fps的ISP图像处理能力,支持2F WDR、多级降噪、六轴防抖、多光谱融合等多种传统图像增强和处理算法,支持通过AI算法对输…

【React架构 - Fiber构造循环】

我们都知道在React中存在两大循环任务调度循环、Fiber构造循环,本文只要介绍的是其中的FIber构造循环,至于任务调度循环,有兴趣的可以查看写的这篇文章:【React源码 - 调度任务循环EventLoop】 本文主要从三个方面来介绍FIber构造…

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序,比较好用,因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…