微信PC版检测更新data文件的简单分析
1.抓包分析
打开设置-关于微信-检测更新
抓到以下关键网址
2.分别打开网址查看详情
网址1 包括了更新日志 版本号 版本地址等信息
网址2 包括了每个文件的MD5,大小,offset等信息
网址3 猜测是更新覆盖的文件,下载后可以直接用压缩文件打开
其中 https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50.dat"/> 代表数据地址
https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50.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"/> 代表文件详情
从抓包的结果看 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行
AndroidAssistHelper.dll
api-ms-win-core-console-l1-1-0.dll
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.代码截图在后面
|