逆向实战32——某东最新h5st4.4算法分析

前言

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

目标网站

aHR0cHM6Ly93d3cuamQuY29tLw==

备注

本文所有的参数只具备参考意义。并且调试时参数也会一直改变。

没关注我公众号的关注下公众号 xdm 谢谢了

https://mp.weixin.qq.com/s/GfIjcrtvdkabhn7TEBmC2A

参数分析

由于本人没有研究过之前4.3 4.2的算法。这里直接研究上个礼拜新搞的。说实话很多地方都不一样了。教程很多也都对不上了。

这里就大致的梳理一下。

首先。找出逆向的参数

然后我们可以发现这个参数是由很多个;链接出来的。

这里先不着急找参数啊。我们先复制出来然后挨个看看。

这里可以用js给他切割一下

js 复制代码
1: "20240228224459938"
2: "fe5yh66mfn6ckkk5"
3: "b5216"
4: "tk03w8d831b8318nS53LDniClCgeVduha5vPE3CC0OeX4RZaxzY28MApAsO4XTCjwpDtXfSTLjDz0Iv541ejb72Jz8wS"
5: "3ec9dfa79549f910854258bfa3de7bb61f496e845785129c2490286c1cfbd6d0"
6: "4.3"
7: "1709131499938"
8:"dd5cf478e70f....太长 自己看到就行"

这里可以看到 除了第一个 第六个 第七个。其他的值我们都是不确定的。

那没办法了 只好走断点 追栈慢慢看了

(混淆很多 能脱的最好脱下。这里我没用任何工具。强撸!)

断点分析

这里直接搜索 h5st 然后选择第一个

言简意赅。一眼看过去

加密 body 得到传参。异步调用函数得到返回值。最终得到h5st。

这里跟栈 单步跟踪 跳到下图这个文件中

这里就到了控制流的地方。

我们再这个地方打上断点。然后挨个进去 把每个switch的case都看一遍。主打的就是一手有耐心。

这里不每个都写了。浪费时间。

断点如下 。生成

看看这个函数最终生成了什么值

好的。最终生成了h5st 先不用管具体有没有这个值。我们继续追。

很好 又是一堆swtich。那没办法。我们还原不太会。慢慢看呗。

这里断点到这个地方。

这里打印一下。生成了什么值应该一目了然了吧。

其他的值 大家自己看都能追上。这里重点关注下最后的这个

先记上 这里面存放了这6种加密。最后再继续走。(这是个耐心的过程。)

然后走到这个地方。

欸 这里又生成了个值。先不管

继续走。

最后走到这个地方了。哦~~~ 然后一切的谜团就解开了。

代码分析

下图函数讲述了 拼接。这里我还原一下。

js 复制代码
[""['concat'](c), ""['concat'](_fingerprint), ""['concat'](_app_id), ""['concat'](_token), "".concat(A), ""['concat'](_version), ""['concat'](s), ""['concat'](e)].join(";")

好了 这个变量都这么清楚了。

ok。这里小小分析一波。具体的参数就不带大家跟了。

大家跟着这个找都能找到的。

后面具体的教程我放到星球里了。

这里简单讲讲

  1. c值:很明显是 时间字符串。
  2. _fingerprint值:可以写死。算法我也放到星球里了。
  3. _app_id值:也可以写死 页面里获取。
  4. token值:同上
  5. A值:即sign值 由HmacSHA256 算法生成的64位字符产。传递两个值。第一个值也是加密的值。加密的地方与上文重点关注地方呼应。第二个值是传参。
  6. _version值:版本号 (4.3/4.4)
  7. s值:时间戳
  8. e值: 由Aes生成。_fingerprint写死 他好像也可以写死。

结果

这也就大功搞成了。

文中我省略了很多步骤。包括但不局限于VM加密代码的生成。sign值加密步骤。

只能说步骤还是挺多的。不过一晚上估计也能弄出来了。

详细步骤和代码详见星球

https://articles.zsxq.com/id_njkcf4bn9cr6.html

相关推荐
Jinkxs9 小时前
JavaScript性能优化实战技术
开发语言·javascript·性能优化
Maybyy10 小时前
力扣242.有效的字母异位词
java·javascript·leetcode
小彭努力中11 小时前
147.在 Vue3 中使用 OpenLayers 地图上 ECharts 模拟飞机循环飞行
前端·javascript·vue.js·ecmascript·echarts
老马聊技术11 小时前
日历插件-FullCalendar的详细使用
前端·javascript
zhu_zhu_xia11 小时前
cesium添加原生MVT矢量瓦片方案
javascript·arcgis·webgl·cesium
咔咔一顿操作11 小时前
Cesium实战:交互式多边形绘制与编辑功能完全指南(最终修复版)
前端·javascript·3d·vue
coding随想12 小时前
JavaScript中的系统对话框:alert、confirm、prompt
开发语言·javascript·prompt
pobu16812 小时前
aksk前端签名实现
java·前端·javascript
0wioiw012 小时前
Flutter基础(前端教程⑤-组件重叠)
开发语言·前端·javascript