声明:本文仅限学习交流使用,禁止用于非法用途、商业活动等。否则后果自负。如有侵权,请告知删除,谢谢!本教程也没有专门针对某个网站而编写,单纯的技术研究
案例分析
目标案例:5b6u5L+h5pCc57SiLeWwj+eoi+W6j+adpeS8iuS7veS6keW6ly0t6Zeo5bqX5L+h5oGv
- 对应接口和难点
抓包工具
我这边使用的是 charles,因为觉得结构化挺好看的就在用,也可使用link,自行下载
反编译工具
我这边使用的是unveilr.exe进行的反编译,使用很简单,放在对应的包下面
备选下载方案:https://pan.baidu.com/s/18Ag6dxgzBxq66VSyaRJo2w 提取码:k7x1
划红线的是你的小程序文件夹哈,然后这里面执行cmd,然后就是unveilr.exe 解析的包即可
效果
当然这个也不是万能的哈,也会有包无法编译的
参数解析
通过多次抓包和不同电脑抓包可以发下x-co-client是不变的,那么我们可以不用管他,x-co-timeStamp通过时间戳转换可以知道他就只是个单纯的时间戳所有就只剩下一共sign
那么我们知道他是加密,那么去反编译这个小程序用我上面说的,这里需要借助微信开发者工具哈。用微信开发者打开,导入文件,记得appid记得要用游客的身份哈,不然有些你是没办法看的
打开之后点击右上详情,然后修改本地设置
通过反编译和部分处理,我们可以看到这里有些接口是有这个参数加密的,但是不是我们要用的接口,不重要,算法的逻辑是共用的,那么这里搞定,其他只需要尝试即可
老规矩,直接上搜索大法
那么搜到很多可以多下几个断点进行查看,最后断点位置
可以看到这边u是时间戳生成的,x-co-timeStamp就是u赋值的,那么我们继续往下跟(换了个照片,那个照片有域名修改下)
可以看到这里是对数据进行的切分然后修改顺序,r取了n里面的值进行的处理,i是直接取值没有处理
这里可以看到他是对数据进行的\n拼接
这里可以看到红框是没有什么数据的,c是数据,s是key值
通过哈希先转成了数组,
最后通过stringify进行的转换
那么我们知道了算法,这边可通过python还原,最后发现,入参如果没有排序,他会说我们sign不对
那么我们可以通过y进行处理,可以看到search就是我们排序的入参了
那么到这里就结束了,我们下期在见!!!
效果展示
来源地址:https://blog.csdn.net/w62181310/article/details/131309373