某小程序 sign 参数 js 分析破解

js/小程序逆向 4 / 7

仅供学习研究 。请勿用于非法用途,本人将不承担任何法律责任。

前言

某货优选小程序 sign 参数分析

charles 抓包

就是这个 sign 参数,下面来反编译小程序分析 js

反编译小程序

进入到手机的 /data/data/com.tencent.mm/MicroMsg/ 目录

这里的每个 hash id 都是一个小程序,需要自己去找到目标小程序的,找到之后在进入到 hashid/appbrand/pkg 目录,里面就是小程序包了,复制到 sdcard 目录,使用 adb pull 命令,拉下来

这里推荐个小程序解包工具: https://github.com/xuedingmiaojun/wxappUnpacker

依赖包安装好之后,使用 onekey.sh 脚本指定主包可以自动解子包,不需要在使用 -s 一个一个解包了

// 例如
./onekey.sh ~/Desktop/wpkg/yunhuoyouxuan/_-979166188_833.wxapkg

Tips: 反编译完成之后使用小程序开发者工具打开

微信开发者工具

全局搜索 sign 有两个结果,随便点进去一个,调整下格式,简单分析下代码

先调用 n.sortAscii 函数返回值加上 &secretKey= + t.globalData.secretKey
在调用 i.default 函数

n.sortAscii

首先来看下 n.sortAscii 函数的参数,g 就是请求体,这里是取出 bodyparam 参数

也就是这个

参数 e 是个 json 获取 keys 在进行排序,key value 使用 = 拼接,最后使用 & 符号,总体逻辑就是排序转成 url 参数

i.default

这个就简单了,通过文件名称,或者常量都可以确定是 md5

Tips:加密逻辑就分析完了,body.param 排序转 url 参数,拼接上 secretKey,在进行 md5 下面来测试一下

python 测试

测试结果跟抓包的一样

暂无评论
本文作者:
本文链接: https://www.qinless.com/?p=687
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 qinless 的博客!
100

发表评论

返回顶部