“ 说不定我是为了跟你相遇才彷徨了一万几千年。——《JOJO的奇妙冒险》E23 ”
01
—
环境版本
环境:
电脑,Windows 10 专业版 23H2
软件:
微信,Windows 3.9.10.19
WeChatOpenDevTools-Python,0.3.2
02
—
操作步骤
1、下载安装v3.9.10.19版本微信
https://github.com/tom-snow/wechat-windows-versions/releases/tag/v3.9.10.19
2、下载安装0.3.2版本
WeChatOpenDevTools-Python
https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python/releases/tag/0.3.2
3、请求响应加密
4、注入微信
WechatOpenDevTools-Python.exe -x
5、出现DevTools
03
—
请求分析
6、Network-Fetch/XHR,点击Initiator查看请求的调用堆栈
7、从调用栈顶部开始逐步向下看,第一个堆栈断点查看h为密文
8、从上往下依次点击堆栈请求,跟到这一步发现n为密文,e.data为明文
9、定位到加密函数l,n是明文,f是随机生成密钥
10、进到l函数内部,断点
encryptData_ECB,t中包含搜索关键字
name=支行,h即返回的加密结果
11、对比网络请求一致
04
—
响应分析
12、发现s.decryptData_ECB即为解密方法,i为密文,s为随机密钥
13、先在加密处断点拿到随机密钥
n._k_='LmjIbxGOGdz5jPhO'
14、再断点解密对比密钥一致,也就是说加密时生成随机密钥,拼接密钥和密文o+h请求服务器,服务器返回密文响应,然后使用加密时的随机密钥进行解密
s=n._k_='LmjIbxGOGdz5jPhO'
原文始发于微信公众号(挖个洞先):【银行逆向百例】06小程序逆向之WeChatOpenDevTools-Python开启Devtools+跟踪调用堆栈
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论