揰掵佲 发表于 2021-8-30 10:54:44

PC版微信更新检测技术分析_主要针对xml分布的技术

1.找一款抓包工具,我用的是 HTTPAnalyzerFullV7 ,打开VX,找到设置-关于-检测新版 回头看抓包工具看到下面的信息
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/Win ... V3.3.5to3.3.5.patch               
2.猜测里面包含了更新信息,打开网址查看                  

网址1包括了更新更新日志,版本号
网址2包括每个VX文件的MD5 大小 等信息
网址3根据猜测是 升级需要覆盖的文件信息,用压缩软件打开即可
3.不难发现 https://dldir1.qq.com/weixin/Windows/update3.3.5.50.xml 是要的文件,我们通过分析这个文件来得到相关的内容
<?xml version="1.0" encoding="Utf-8"?>
<updateConfig configVer="120">
      <Tools>
                <item hash="14743D5A219CBE*F2CD1F2*F3209E70E" name="courgette" url="https://dldir1.qq.com/weixin/Windows/Tools/courgette.exe"/>
      </Tools>
      <UpdateNotice>
                <language code="zh_CN">
                        <item1>1.修复了一些已知问题。</item1>
                </language>
                <language code="en">
                        <item1>1.Bug fixes and improvements.</item1>
                </language>
                <language code="zh_TW">
                        <item1>1.修復了一些已知問題。</item1>
                </language>
      </UpdateNotice>
      <Versions>
                <VersionInfo silence="1" MinVersion="0x63030500" MinTarget="0x61000600" MaxTarget="0x63030531" main="1" exclude="Windows XP1,Windows Server 2003,Windows Server 2003 R2,Windows Vista,Windows Server 2008">
                        <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"/>
                        <patches>
                              <Patch md5="9B6ABB41BD6662FDDA90928D5C8*F95D" targetVersion="0x6303052E" url="https://dldir1.qq.com/weixin/Windows/patch/WeChat_B46to50_V3.3.5to3.3.5.patch"/>
                              <Patch md5="73894B1F2DA591A0*F3228366F87C619" targetVersion="0x6303052A" url="https://dldir1.qq.com/weixin/Windows/patch/WeChat_B42to50_V3.3.5to3.3.5.patch"/>
                              <Patch md5="ABAE01881FB14150CB98340ED38D0B7B" targetVersion="0x63030522" url="https://dldir1.qq.com/weixin/Windows/patch/WeChat_B34to50_V3.3.5to3.3.5.patch"/>
                              <Patch md5="330BB50573A4C1DB1B8258AF9CA2D6*F" targetVersion="0x6303051E" url="https://dldir1.qq.com/weixin/Windows/patch/WeChat_B30to50_V3.3.5to3.3.5.patch"/>
                              <Patch md5="65F649C6FEB8970B0E831FB9A00AC3FE" targetVersion="0x63030073" url="https://dldir1.qq.com/weixin/Windows/patch/WeChat_B115to50_V3.3.0to3.3.5.patch"/>
                        </patches>
                </VersionInfo>
                <VersionInfo silence="1" MinVersion="0x63000000" MinTarget="0x61000600" MaxTarget="0x6302019B">
                        <wechatfile url="https://dldir1.qq.com/weixin/Windows/WeChat_3.2.1_update156.dat"/>
                        <file_component url="https://dldir1.qq.com/weixin/Windows/WeChat_3.2.1_update156.xml"/>
                        <wechatfile_ex url="https://dldir1.qq.com/weixin/Windows/WeChat_3.2.1_update156_ex.dat"/>
                        <file_component_ex url="https://dldir1.qq.com/weixin/Windows/WeChat_3.2.1_update156_ex.xml"/>
                </VersionInfo>
      </Versions>
</updateConfig>

红色网址代表 安装包的文件
蓝色网址代表每个文件信息
我们可以通过把红色网址的文件下载下来之后,按照蓝色网址中每个文件的大小来分隔,最后得到每个文件,最后写入到某个文件夹,就可以得到VX的完整文件了
蓝色网址内容详情
<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>

md5 代表数据校验值 这个其实可以无视
length 代表长度
offset 代表该文件从data文件开始位置
compresslen 代表压缩文件的长度
后面就是文件名了

4.从https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50.dat下载data文件后 用十六进制编辑器打开
发现开头不是MZ 因为MZ是可执行文件头 而 AndroidAssistHelper.dll是从ofsset=0开始的 猜测是压缩文件
读取文件取前123607个字节,写出文件为AndroidAssistHelper.zip 发现无法打开 把长度 改为 227528
发现可以打开 那就说明 每个文件是采用了 压缩包拼接的形式,那就很简单了

5.按照 https://dldir1.qq.com/weixin/Windows/WeChat_3.3.5_update50_ex.xml 的文件详情 进行文件读取即可!

6.最后解压到当前文件夹 就可以 完成VX的下载和使用了
打开测试 正常运行!
页: [1]
查看完整版本: PC版VX更新检测技术分析_主要针对xml分布的技术