sh点击上方蓝字[协议分析与还原]关注我们


“ 解密PC端wxapkg文件。”

用过微信pc版的应该都知道,PC上也可以使用微信小程序。

这个小程序用起来和手机端差不多,不过,在分析时,确是有差别的——PC上的wxapkg文件是加密的。

无论如何,加密的文件都应该要解密开来看看,满足下好奇心。

在PC上,微信小程序wxapkg目录在C:\Users\xxx\Documents\WeChat Files\Applet\wxbxxxxxxxxxxxxxxd0\xx,小程序id为:wxbxxxxxxxxxxxxxxd0,目录下一般存有__APP__.wxapkg等文件,和手机上差不多:

打开这些wxapkg文件,就和手机上导出的wxapkg差远了:

文件是加密的,典型特征是文件数据以V1MMWX六字节为起始。

注意,本文分析用到的微信PC版的版本是2.9.5.41,其它版本未验证。

现在,我们要解开wxapkg文件。

当然,这些wxapkg文件的加密算法还算简单,不难。

这些wxapkg文件的数据格式分成三个部分:

第一部分,文件的前6字节为V1MMWX;
第二部分,之后的1024字节为AES CBC加密数据;
第三部分,从1024+6之后的所有数据为异或加密的数据。

用UE等十六进制编辑器打开一个wxapkg,会很容易看到三个部分的界限。

文件第二部分的AES CBC加密,使用的key与对应的微信小程序id有关,也就是说每个微信小程序的wxapkg加密密钥是不同的。key是由pbkdf2算法生成的,32字节,算法使用的哈希函数为sha1,pass为微信小程序id,salt为固定值“saltiest”,迭代次数为1000。加密算法的iv是固定值“the iv: 16 bytes”,真够懒的。

文件第三部分的异或加密,真就是简单的异或,xorkey为微信小程序id的倒数第二字节的内容。

代码用python实现了,放在了github上,这里就不贴了,有兴趣的可以自己去翻。

经过一番解密,就可以看到,解密之后的数据和手机上的wxapkg一样啦。

然后,该解包就解包,总体上,简单得多了。

解密后,当然是要解包了,这个有需要下回再写。

祝大家玩的愉快,有空多多交流。

别忘点“在看”、“赞”和“分享”

新的规则,及时收推文要先给公号星标

别忘了星标一下,不然就错过了

长按进行关注,时刻进行交流。

PC端微信小程序wxapkg解密相关推荐

  1. [node.js]PC端微信小程序包解密

    原来发布在掘金,搬过来好了. 微信小程序在PC端是加密存储的,如果直接打开是看不到什么有用的信息的,需要经过解密才可以看到包内具体的内容.本文使用nodejs实现解密算法,主要涉及到crypto, c ...

  2. 获取PC端微信小程序源码

    获取PC端微信小程序源码 参考文章链接 链接1 链接2 准备工具 解密工具 UnpackMiniApp.exe 下载链接 逆向工具 wxappUnpacker 下载链接1 下载链接2 整体流程 第 1 ...

  3. 接口测试抓包大法:抓web端的包+抓PC端微信小程序的包

    接口测试现在作为一种主流的,简洁的测试方法,已经逐渐被渗透到功能测试和自动化测试的过程中去,成为测试的必备技能之一,现在就来总结一下工作中常用的抓包方法,供各位学习参考. chrome浏览器自带抓包工 ...

  4. Fiddler抓取PC端微信小程序请求方法

    最近PC端的微信更新了,在微信中也可以打开相对应的小程序了,那么对于大多数测试同学来说要是可以在PC端打开小程序直接查看小程序发出的HTTPS请求报文,那么定位问题也就太方便了吧,我就是抱着这样的一个 ...

  5. pc端微信小程序抓包

    新版PC端微信更新了小程序的架构,所以全局抓包抓不到了. 临时解决方案: 1.退出微信 2.删除: C:\Users\Administrator\AppData\Roaming\Tencent\WeC ...

  6. PC端微信小程序使用Fiddler进行爬取抓包

    本博客用于个人学习与工作中的收获 前言 前两天被安排了一个没有接触过的爬取微信小程序中数据的任务,虽然我是连爬虫貌似都还没写过的实习仔,但是想着应该不难,那可不就信心满满地接下任务了.然后第一天,一整 ...

  7. mac 上用charles 抓包pc端微信小程序

    原因:个别电脑打开pc端小程序接口报错,需要查看具体请求参数排除原因 配置charles 1.选择菜单栏Help->SSL Proxying->Install Charles Root C ...

  8. fiddler抓取不了PC端微信小程序的包解决方法

    fiddler抓取不了微信小程序的包 最近突然遇到微信抓取不到小程序包,之前都是好的,但突然就凉凉了,经过不懈的查找终于在某个大佬的文章找到解决方法.原址在这里:https://mbd.baidu.c ...

  9. PC端微信小程序字体无法显示加粗

    今天开发发现,在手机中可以看到加粗文字,pc端无法显示,对比了下美团小程序,也是这样,这是微信的bug,不知道他什么时候能修复了.坐等...

最新文章

  1. 【每日一算法】什么是二分图?
  2. OpenCV微笑探测器smile detector的实例(附完整代码)
  3. mysql-proxy代理加mysql主从实现读写分离
  4. c# 相对路径的一些文献
  5. Linux查看文件的首个字母 文件属性字段
  6. 快速开发系统之前台页面 ---- NO1----登录页面
  7. 泰山医学院计算机文化基础,泰医 专 计算机 16级.pdf
  8. 牛客网多校联合训练1 J Different Integers(可持久化线段树/莫队)
  9. 如何快速学会java编程?
  10. ACCESS中通过邮件收集数据
  11. opencv之cv::Mat像素遍历
  12. PIC单片机应用开发实践教程(一):MPLAB X IDE 开发环境安装
  13. java poi PAGELAYOUT_Apache POI PPT - 幻灯片布局( Slide Layouts)
  14. 应用计算机测定线性电阻伏安特性实验结论,线性电阻和非线性电阻伏安特性曲线测定实验报告(共8篇).docx...
  15. Imu_heading使用
  16. 每日一题---摔手机
  17. 想客户所想,这个客服有“读心术”
  18. 一步一步实现微信抢红包
  19. C语言初阶——6.进制
  20. mac 命令行小技巧--mas 替代appstore

热门文章

  1. java中super用来定义父类,Java中super的几种用法及与this的区别
  2. python基础主要内容_python基础—python的介绍
  3. qprocess start怎么判断是否结束_面试结束后,如何判断自己是否有戏?看有无这8大信号!...
  4. ios如何实现静音模式下声音仍然可以外放
  5. 【BZOJ1016】【Luogu P4208】 [JSOI2008]最小生成树计数 最小生成树,矩阵树定理
  6. postfix邮箱服务
  7. linux管道的执行顺序
  8. C++vector迭代器失效的问题
  9. Packagist / Composer 中国全量镜像
  10. Twitter的应急预案、部署流程