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

相关推荐
RPGMZ1 小时前
RPGMZ游戏引擎之如何设计每小时开启一次的副本
javascript·游戏·游戏引擎·rpgmz
RPGMZ1 小时前
RPGMZ游戏引擎 如何手动控制文字显示速度
开发语言·javascript·游戏引擎·rpgmz
阿星做前端2 小时前
一个倒计时功能引发的线上故障
前端·javascript·react.js
tianzhiyi1989sq2 小时前
Vue框架深度解析:从Vue2到Vue3的技术演进与实践指南
前端·javascript·vue.js
我是来人间凑数的2 小时前
electron 配置特定文件右键打开
前端·javascript·electron
未来之窗软件服务3 小时前
js调用微信支付 第二步 获取access_token ——仙盟创梦IDE
开发语言·javascript·微信·微信支付·仙盟创梦ide·东方仙盟
洛小豆3 小时前
为什么可以通过域名访问接口,但不能通过IP地址访问接口?
前端·javascript·vue.js
唐人街都是苦瓜脸4 小时前
Vue 3中unref的写法
前端·javascript·vue.js
猫老板的豆5 小时前
react-activation 组件级缓存解决方案
javascript·react.js·缓存
用户8088596179215 小时前
同花顺爱问财参数逆向-纯算法分析
javascript