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

相关推荐
এ慕ོ冬℘゜13 小时前
es6基础
前端·javascript·es6
可乐鸡翅yeah_14 小时前
hls.js 缓冲区参数 maxBufferLength、maxBufferSize 通俗讲解与业务调参
开发语言·javascript·ios·音视频·safari·m3u8
paopaokaka_luck14 小时前
高校社团管理(AI辅助任务分配、协同过滤算法推荐、ECharts数据可视化、活动参与闭环、校园交流与反馈、器材借还管理)
java·前端·javascript·spring boot·数据分析·echarts
5008414 小时前
React Native for OpenHarmony 实战:三方库 react-native-volume-control 的鸿蒙化适配指南
javascript·react native·react.js·electron·harmonyos
薛一半14 小时前
React-Redux三重优化实战揭秘
javascript·vue.js·react.js
Dovis(誓平步青云)14 小时前
导览音频切换太快,旧讲解不能覆盖新展品
android·前端·javascript·ecmascript·音视频·宠物
福兮说1 天前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
凤城老人1 天前
从 PyQt6 到 Electron:给 Edge TTS 做一个“多角色配音机“的踩坑手记
javascript·typescript·electron
Dovis(誓平步青云)1 天前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan1 天前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js