tags: [微信小程序, 智能门锁, 逆向, Python, 网络安全] title: 智能门锁临时密码逆向 slug: smart-lock-temporary-password-reverse redirect_from:
逆,都可以逆
对最近安装的智能门锁的临时密码生成协议比较好奇,再加上对微信的不信任,故去深挖了一下
打开小程序后前往/data/data/com.tencent.mm/MicroMsg/{id}/appbrand/pkg
,根据修改时间找到相关程序包
使用这个脚本解包
npm install -g js-beautify
,随后js-beautify app-service.js
很容易就能找到相关生成逻辑(开发者甚至贴心的留下了console.log
(吐槽一下,你们开发者是对着压缩后的版本调试的吗…… log里的变量名全部是压缩后的)
把逻辑相关代码复制出来,将\
转义为\\
,丢到 Python 的一个多行变量里
通过js2py
执行 JS 代码,在 Python 中得到返回值,使用termux-api
显示出来