首先退出当前登录的微信并下载**3.7.6.44**版本的微信
然后将这个目录下的所有文件及文件夹删除
**C:\Users\Administrator\AppData\Roaming\Tencent\WeChat**
登录微信后随便找一个小程序点进去。
进到这个目录下查看文件夹名称是否为**4648**
**C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime**
并确保该文件的版本为**1.9.4648.2**
**C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime\4648\extracted\runtime\WeChatAppEx.exe**
x64dbg附加 WeChatAppEx.exe.
注意: **找有小程序标题的那个附加。**
image.png
1
下断recv先抓一个返回数据
image.png
2
抓到的数据大概如下格式
补图:
image.png
3
[Asm] 纯文本查看 复制代码
17 //协议状态位03 03 //协议类型 小程序07 99 //content 长度BB 81 24 B3 67 12 D2 34 F9 31 F4 95 46 D9 83 C19D E3 7C 5B B6 6F B2 E6 F0 AC 1A FE 9E 02 CD B667 EA E9 2D 5B C3 7A 26 7C 34 B5 EF 8D B2 30 C3BA 90 BB 8E 81 BB A7 A9 58 A3 C9 A7 62 14 4D 1439 EF 8D 17 FB B9 AB 02 CB 85 8F 9A 84 15 94 4021 15 DB 40 18 82 2F 83 D2 6A 2D 8F 2C 28 FC 67FC 88 32 D6 6D A1 27 95 36 76 C2 84 3D 26 20 4866 CC 88 53 88 38 3E 95 F0 32 F6 2A 53 A3 28 DD26 5A 82 2A C8 88 03 5F FB F9 FC 7C 95 AB AB F071 3A 99 C5 7A 30 A0 BC 81 9D 7B E9 D3 99 2E 7E7C D2 50 2B AC E0 64 6A 8B 48 00 36 70 13 10 ACEF CB 2E AB 23 AA AD D3 9D 5B 88 //content
其中第一个字节是状态位 分别有 14 15 16 17这几种 16 17 是业务正常数据。15应该是失败。
对buffer下访问断返回后来到这里
image.png
4
**RVA:2DF0866**
函数会执行两次。
第一次读取包的buffer前5个字节。从中会取出后两位,也就是长度当做下一次调用的参数。
第二次读取buffer+5位置的data(len参数来源于第一次获取)
读取完数据后。会从中再读取前8位作为head处理。
剩余数据当作body处理。
image.png
5
**RVA:1DE4802**
[Asm] 纯文本查看 复制代码
BB 81 24 B3 67 12 D2 34 //headF9 31 F4 95 46 D9 83 C1 9D E3 7C 5B B6 6F B2 E6F0 AC 1A FE 9E 02 CD B6 67 EA E9 2D 5B C3 7A 267C 34 B5 EF 8D B2 30 C3 BA 90 BB 8E 81 BB A7 A958 A3 C9 A7 62 14 4D 14 39 EF 8D 17 FB B9 AB 02CB 85 8F 9A 84 15 94 40 21 15 DB 40 18 82 2F 83D2 6A 2D 8F 2C 28 FC 67 FC 88 32 D6 6D A1 27 9536 76 C2 84 3D 26 20 48 66 CC 88 53 88 38 3E 95F0 32 F6 2A 53 A3 28 DD 26 5A 82 2A C8 88 03 5FFB F9 FC 7C 95 AB AB F0 71 3A 99 C5 7A 30 A0 BC81 9D 7B E9 D3 99 2E 7E 7C D2 50 2B AC E0 64 6A8B 48 00 36 70 13 10 AC EF CB 2E AB 23 AA AD D39D 5B 88 //body
然后对body进行一次解密后得到最终response数据交给app做后续处理。
image.png
6
**RVA:1DE485A**
从解密的参数来看应该是aes-128-gcm算法
解密后的数据如下,我将其分为了两部分。
第一部分为协议头。
第二部分为json_data(也有可能是HTTP的raw).
[Asm] 纯文本查看 复制代码
00 00 31 01 04 00 00 00 0F 88 61 96 D0 7A BE 94 03 AA 69 3F 75 04 01 09 40 82 E3 6C DC 10 54 C5 A3 7F 5F 96 1D 75 D0 62 0D 26 3D 4C 74 41 EA FB 24 E3 B1 05 4C 1C 37 E1 59 EF 00 07 3E 00 00 00 00 00 0F7B 22 72 65 74 5F 6D 6F 64 75 6C 65 22 3A 7B 22 63 6F 75 6E 74 22 3A ... //json_data
其中response的数据可以直接转文本就是明文字符了。
[HTML] 纯文本查看 复制代码
{ "ret_module": { "count": 50, "data": [ { "slot_num": 7, "device_id": 100031366, "order_id": 31359415, "name": "千惠便利店", "coins": 3, "create_time": "2022-08-09 09:52:36", "stack_id": 26507501, "status": 1, "refundCoins": null }, { "order_id": 28234418, "slot_num": 7, "device_id": 100031366, "name": "千惠便利店", "coins": 2, "stack_id": 23882273, "create_time": "2022-07-18 09:56:05", "status": 1, "refundCoins": null }, { "create_time": "2022-07-13 09:47:55", "slot_num": 7, "stack_id": 23308528, "device_id": 100031366, "order_id": 27545901, "name": "千惠便利店", "coins": 2, "status": 1, "refundCoins": null }, { "slot_num": 7, "device_id": 100031366, "order_id": 27258391, "name": "千惠便利店", "stack_id": 23074033, "coins": 2, "create_time": "2022-07-11 09:20:23", "status": 1, "refundCoins": null }, { "slot_num": 7, "device_id": 100031366, "stack_id": 22288022, "name": "千惠便利店", "coins": 2, "order_id": 26302324, "create_time": "2022-07-04 09:34:32", "status": 1, "refundCoins": null }, { "order_id": 24564459, "stack_id": 20871834, "slot_num": 7, "device_id": 100031366, "name": "千惠便利店", "coins": 3, "create_time": "2022-06-21 09:17:29", "status": 1, "refundCoins": null }, { "slot_num": 7, "device_id": 100031366, "name": "千惠便利店", "coins": 2, "create_time": "2022-06-20 14:30:20", "status": 1, "stack_id": 20782357, "order_id": 24453351,
如果数据走的HTTP协议的话。解密后的数据则大概如下 其中包含http报文协议头和raw。
[Asm] 纯文本查看 复制代码
48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D 0A 53 65 72 76 65 72 3A 20 6E 67 69 6E 78 0D 0A 44 61 74 65 3A 20 4D 6F 6E 2C 20 30 37 20 4E 6F 76 20 32 30 32 32 20 31 31 3A 32 38 3A 31 32 20 47 4D 54 0D 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 63 61 74 69 6F 6E 2F 6A 73 6F 6E 0D 0A 54 72 61 6E 73 66 65 72 2D 45 6E 63 6F 64 69 6E 67 3A 20 63 68 75 6E 6B 65 64 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 6C 69 76 65 0D 0A 58 2D 50 65 72 6D 69 74 74 65 64 2D 43 72 6F 73 73 2D 44 6F 6D 61 69 6E 2D 50 6F 6C 69 63 69 65 73 3A 20 61 6C 6C 0D 0A 58 2D 44 6F 77 6E 6C 6F 61 64 2D 4F 70 74 69 6F 6E 73 3A 20 76 61 6C 75 65 0D 0A 58 2D 46 72 61 6D 65 2D 4F 70 74 69 6F 6E 73 3A 20 53 41 4D 45 4F 52 49 47 49 4E 0D 0A 58 2D 43 6F 6E 74 65 6E 74 2D 54 79 70 65 2D 4F 70 74 69 6F 6E 73 3A 20 6E 6F 73 6E 69 66 66 0D 0A 58 2D 58 53 53 2D 50 72 6F 74 65 63 74 69 6F 6E 3A 20 31 0D 0A 43 6F 6E 74 65 6E 74 2D 53 65 63 75 72 69 74 79 2D 50 6F 6C 69 63 79 3A 20 75 70 67 72 61 64 65 2D 69 6E 73 65 63 75 72 65 2D 72 65 71 75 65 73 74 73 3B 63 6F 6E 74 65 6E 74 20 2A 0D 0A 53 74 72 69 63 74 2D 54 72 61 6E 73 70 6F 72 74 2D 53 65 63 75 72 69 74 79 3A 20 6D 61 78 2D 61 67 65 3D 36 33 30 37 32 30 30 30 3B 20 69 6E 63 6C 75 64 65 53 75 62 64 6F 6D 61 69 6E 73 3B 20 70 72 65 6C 6F 61 64 0D 0A 52 65 66 65 72 72 65 72 2D 50 6F 6C 69 63 79 3A 20 6F 72 69 67 69 6E 2D 77 68 65 6E 2D 63 72 6F 73 73 6F 72 69 67 69 6E 0D 0A 0D 0A 36 31 0D 0A 7B 22 63 6F 64 65 22 3A 22 32 30 30 22 2C 22 6D 73 67 22 3A 22 E6 93 8D E4 BD 9C E6 88 90 E5 8A 9F 22 2C 22 64 61 74 61 22 3A 22 76 34 6E 50 62 75 33 62 55 70 71 6C 77 71 6D 64 7A 58 2B 36 74 51 3D 3D 22 2C 22 74 69 6D 65 53 74 61 6D 70 22 3A 22 31 36 36 37 38 32 30 34 39 32 31 32 37 22 7D
[Asm] 纯文本查看 复制代码
HTTP/1.1 200 OKServer: nginxDate: Mon, 07 Nov 2022 11:28:12 GMTContent-Type: application/jsonTransfer-Encoding: chunkedConnection: keep-aliveX-Permitted-Cross-Domain-Policies: allX-Download-Options: valueX-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniffX-XSS-Protection: 1Content-Security-Policy: upgrade-insecure-requests;content *Strict-Transport-Security: max-age=63072000; includeSubdomains; preloadReferrer-Policy: origin-when-crossorigin61{"code":"200","msg":"操作成功","data":"v4nPbu3bUpqlwqmdzX+6tQ==","timeStamp":"1667820492127"}0
最终效果:
image.png
7
源码下载:
https://github.com/snlie/WeChat-Hook/tree/main/PC%E5%BE%AE%E4%BF%A1%E5%8D%8F%E8%AE%AE/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%9B%B8%E5%85%B3%E7%AE%97%E6%B3%95
​
标签:
PCVX小程序抓包分析
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
千金楼资源网 Copyright www.htabc.com
暂无“PCVX小程序抓包分析”评论...
更新日志
2024年11月15日
2024年11月15日
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]