“ 这是一场试炼 ”
01
—
环境版本
环境:
电脑,Windows 11专业版 23H2
软件:
微信,Windows 3.9.12.51
unveilr,2.0.1
02
—
操作步骤
1、使用yakit抓包发现请求返回加密,header有一个Aes-Key但是每次值都会变化,下面分析Aes-Key生成和加密解密调用函数逻辑
https://www.yaklang.com/
2、微信设置-打开文件夹获取路径
3、删掉目录下全部文件
C:UserszhangsanDocumentsWeChat FilesApplet
4、刷新小程序,使用unveilr反编译目标APP.wxapkg
5、微信开发者工具导入反编译后的APP,使用测试号
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
6、详情-本地设置
7、编译报错,app.json: componentFramework 字段需为
exparser,glass-easel
componentFramework 字段需为 string
"componentFramework": "exparser",
03
—
请求分析
9、可以看到控制台输出了请求响应调试信息
10、跟进去先分析请求加密逻辑,通过u.zO(16)生成一个16字节的随机字符串也就是aes的key,然后使用RSA加密key得到b
11、往下走,将b和(0, u.zO)(8)随机生成的8位字符串拼接就得到了header中的Aes-Key
12、微信开发者工具设置代理为yakit监听的8083端口
b = c.Z.rsaEncrypt((() => {
const key = (0, u.zO)(16);
console.log("key = " + key);
return key;
})()),
console.log("b = " + b),
S = JSON.stringify({
data: l.aesEncrypt(b, JSON.stringify({
action: n.action,
data: n
}))
}),
04
—
响应分析
17、进入respose.data位置
原文始发于微信公众号(挖个洞先):【银行逆向百例】03小程序逆向之微信开发者工具反编译修复app.json
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论