逆向实战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

相关推荐
刘发财4 小时前
前端2秒生成500页矢量PDF,rust真的强到没朋友
前端·javascript·rust
梦想平凡5 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
kyriewen8 小时前
我花3天抓了一个幽灵bug,凶手藏在第4层
前端·javascript·程序员
mONESY10 小时前
LangGraph.js 从零上手:把 Agent 工作流从一条线变成一张网
javascript
默_笙10 小时前
⚓ AI 的"官方答题卡":withStructuredOutput 与结构化输出的终局之战
前端·javascript
我家猫叫佩奇11 小时前
🦭 厌倦了千篇一律的线性图标?Naive Icons 正式开源
前端·javascript·css
梦诺14 小时前
vue3 keepAlive+记录滚动条
前端·javascript·vue.js
天若有情67315 小时前
开源轻量双语工具|一键批量查询 NPM 包历史下载量,支持按作者批量统计
javascript·npm·github pages·开源工具·netlify·前端开源·npm克隆量
福兮说16 小时前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
志尊宝16 小时前
Vue3 零基础每日笔记(018):按键与鼠标修饰符——回车搜索、Ctrl+S 保存这样写
javascript·vue.js·笔记