智能门锁临时密码逆向

 

逆,都可以逆

起因

对最近安装的智能门锁的临时密码生成协议比较好奇,再加上对微信的不信任,故去深挖了一下

正文

打开小程序后前往/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显示出来

参考资料

微信小程序解包