微信PC版检测更新data文件的简单分析
本帖最后由 揰掵佲 于 2021-8-30 13:16 编辑# 微信PC版检测更新data文件的简单分析
##1.抓包分析
打开设置-关于微信-检测更新
抓到以下关键网址
<https://dldir1.qq.com/weixin/Windows/update3.3.5.50.xml >
<https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.xml>
<https://dldir1.qq.com/weixin/Windows/patch/WeChat_B42to50_V3.3.5to3.3.5.patch>
##2.分别打开网址查看详情
网址1 包括了更新日志 版本号 版本地址等信息
网址2 包括了每个文件的MD5,大小,offset等信息
网址3 猜测是更新覆盖的文件,下载后可以直接用压缩文件打开
##3.根据 https://dldir1.qq.com/weixin/Windows/update3.3.5.50.xml 可以查看到详细信息
其中 <wechatfile url="https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50.dat"/> 代表数据地址
<file_component url="https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50.xml"/> 代表文件详情
<wechatfile_ex url="https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.dat"/> 代表数据地址
<file_component_ex url="https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.xml"/> 代表文件详情
从抓包的结果看 ex.xml应该是需要的的文件
手动下载 https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.dat 到本地磁盘
打开 https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.xml 文件详情提取前2行
<file md5="f74259e5e5acbcf35f89a34bfa314d86" length="227528" offset="0" compresslen="123607">AndroidAssistHelper.dll</file>
<file md5="37da7f6961082dd96a537235dd89b114" length="19136" offset="123607" compresslen="10603">api-ms-win-core-console-l1-1-0.dll</file>
length是文件大小
offset是偏移
compresslen是压缩包大小
把下载的WeChat_3.3.5_update50_ex.dat文件 用16进制编辑器打开 我用的是Everedit
根据文件详情 AndroidAssistHelper.dll是offset=0的位置 但是我们观看开头不是MZ(MZ是可执行文件),所以猜测是压缩包
用代码读取前dat前123607字节,并写出压缩包 用压缩文件打开发现,里面有dll,发现思路完全正确
##4.接下来就是解析xml文件,然后循环的读取,并且写出压缩包即可!
提取完成后 解压所有文件 双击wechat.exe 即可运行
##5.代码截图在后面
qwertyuiop1822 发表于 2021-8-30 16:05
也就是说我屏蔽掉dldir1.qq.com,微信就不会更新了,这思路不错
如何屏蔽 Teachers 发表于 2021-8-30 13:41
全部解压就是绿色版微信了 ?
是不是绿色版不知道,反正是个微信... 看不懂,感谢楼主的分享!{:1_919:} 忆江南 发表于 2021-8-30 13:25
看不懂,感谢楼主的分享!
说白了 就是分析了一下升级的dat的文件 全部解压就是绿色版微信了 ? 看不懂的白鸟啊 学习学习 大佬 想请教下如何nop微信自动更新 学习学习 大佬 感谢分享