-
-
[转帖]【银行逆向百例】05小程序逆向之微信开发者工具反编译修复插件未授权+WXSS+WXML格式错误
-
发表于: 2025-6-3 10:19 87
-
“ 什么都无法舍弃的人,什么都改变不了。——《进击的巨人》S1E20 ”
01
—
环境版本
环境:
电脑,Windows 11 专业版 23H2
软件:
微信,Windows 3.9.12.51
unveilr,2.0.1
微信开发者工具,1.06.2503290
02
—
操作步骤
1、使用yakit抓包发现请求响应加密
7adK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6j5h3E0D9j5h3&6Y4i4K6u0W2j5$3!0E0i4K6u0r3
2、微信开发者工具配置参考文章2-8步骤
3、报错插件未授权使用
4、app.json中搜索plugins,删掉全部插件,重新编译
5、WXSS 文件编译错误
./page/tabbar/home/index.wxss(1:1): unexpected token `{`
6、删掉报错部分代码,重新编译
{ --theme-color: #1a73e8 }
7、WXML 文件编译错误
./miniprogram_npm/vant-weapp/wxs/bem.wxs:1:288:Unexpected token `}`
8、右键格式化文档保存,重新编译
9、WXML 文件编译错误
./utils/filter.wxs:1:8728:Unexpected token `}`
10、右键格式化文档保存,重新编译,修复成功恢复网络请求
03
—
请求分析
11、搜索ReqEncryptDataExt关键字,发现ReqEncryptDataExt=g,g赋值处断点,u.data是明文,i是时间戳,拼接i+'Z'作为加密key
12、调用EncryptByKey方法进行加密,返回值=g=ReqEncryptDataExt,发现a对象有个DecryptByKey方法,解密成功
JSON.parse(a.DecryptByKey("", i + "Z"))
13、修改u.data.kndId=103,页面出现103商品
14、将第一步的时间戳uniqueId赋值给i,解密ReqEncryptDataExt得到明文
04
—
响应分析
15、将响应包的字符串解密得到明文
16、分析一下EncryptByKey函数,AES加密ECB模式只有key没有iv,t是明文,r是uniqueId时间戳拼接'z'也就是key,n调用CryptoJS转换r格式为WordArray对象,返回值即密文ReqEncryptDataExt
赞赏
他的文章
- [原创]【银行逆向百例】09小程序逆向之禁用调试模式+动态密钥+JsRpc+Yakit hijackSaveHTTPFlow热加载 68
- [原创]【银行逆向百例】08小程序逆向之JsRpc+Yakit hijackSaveHTTPFlow热加载实现明文流量显示 277
- [原创]【银行逆向百例】07小程序逆向之微信开发者工具反编译修复分包内容缺失+登录失败openid替换 194
- [转帖]【银行逆向百例】06小程序逆向之WeChatOpenDevTools-Python开启Devtools+跟踪调用堆栈 112
- [转帖]【银行逆向百例】05小程序逆向之微信开发者工具反编译修复插件未授权+WXSS+WXML格式错误 88
赞赏
雪币:
留言: