首先退出当前登录的微信并下载**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
暂无“PCVX小程序抓包分析”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
2024年11月24日
2024年11月24日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]