逆向实战32——某东最新h5st4.4算法分析
前言
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
目标网站
aHR0cHM6Ly93d3cuamQuY29tLw==
备注
本文所有的参数只具备参考意义。并且调试时参数也会一直改变。
没关注我公众号的关注下公众号 xdm 谢谢了
参数分析
由于本人没有研究过之前4.3 4.2的算法。这里直接研究上个礼拜新搞的。说实话很多地方都不一样了。教程很多也都对不上了。
这里就大致的梳理一下。
首先。找出逆向的参数

然后我们可以发现这个参数是由很多个;链接出来的。
这里先不着急找参数啊。我们先复制出来然后挨个看看。
这里可以用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种加密。最后再继续走。(这是个耐心的过程。)
然后走到这个地方。


欸 这里又生成了个值。先不管
继续走。
最后走到这个地方了。哦~~~ 然后一切的谜团就解开了。

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

[""['concat'](c), ""['concat'](_fingerprint), ""['concat'](_app_id), ""['concat'](_token), "".concat(A), ""['concat'](_version), ""['concat'](s), ""['concat'](e)].join(";")
好了 这个变量都这么清楚了。
ok。这里小小分析一波。具体的参数就不带大家跟了。
大家跟着这个找都能找到的。
后面具体的教程我放到星球里了。
这里简单讲讲
- c值:很明显是 时间字符串。
- _fingerprint值:可以写死。算法我也放到星球里了。
- _app_id值:也可以写死 页面里获取。
- token值:同上
- A值:即sign值 由HmacSHA256 算法生成的64位字符产。传递两个值。第一个值也是加密的值。加密的地方与上文重点关注地方呼应。第二个值是传参。
- _version值:版本号 (4.3/4.4)
- s值:时间戳
- e值: 由Aes生成。_fingerprint写死 他好像也可以写死。
结果
这也就大功搞成了。

文中我省略了很多步骤。包括但不局限于VM加密代码的生成。sign值加密步骤。
只能说步骤还是挺多的。不过一晚上估计也能弄出来了。
详细步骤和代码详见星球

逆向实战32——某东最新h5st4.4算法分析的更多相关文章
- 32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.
32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口( ...
- GIF Movie Gear逆向实战+注册代码+补丁
GIF Movie Gear逆向实战+注册代码+补丁 准备 我是在windows 8.1 x64上进行的操作.有不足之处,还望大虾指出. 获取资源 网站下载:http://www.gamani.com ...
- 逆向实战干货,快速定位自动捡阳光Call,或者标志
逆向实战干货,快速定位自动捡阳光Call,或者标志 注意: 关于CE和OD的使用,这里不再多说,快速定位,默认大家已经有了CE基础,或者OD基础. 第一种方法,找Call 第一步,打开CE,搜索阳光值 ...
- 逆向实战第一讲,寻找OllyDbg调试工具的Bug并修复
逆向实战第一讲,寻找OllyDbg调试工具的Bug并修复 首先我们要知道这个OD的Bug是什么. 我们调试一个UNICODE的窗口,看下其窗口过程. 一丶查看OllyDbg 的Bug 1.1spy++ ...
- 逆向实战干货,植物大战僵尸快速定位自动捡阳光Call,或者标志
逆向实战干货,快速定位自动捡阳光Call,或者标志 注意: 关于CE和OD的使用,这里不再多说,快速定位,默认大家已经有了CE基础,或者OD基础. 第一种方法,找Call 第一步,打开CE,搜索阳光值 ...
- iOS逆向实战与工具使用(微信添加好友自动确认)
iOS逆向实战与工具使用(微信添加好友自动确认) 原文链接 源码地址 WeChatPlugin-iOS Mac OS 版微信小助手(远程控制.消息防撤回.自动回复.微信多开) 一.前言 本篇主要实现在 ...
- Android apk逆向实战
简介 逆向Android apk其实是一个分析Android apk的一个过程,必须了解Android程序开发的流程.结构.语句分支.解密原理等等. 功能 破解一个注册验证程序(自写一个简单的注册验证 ...
- Android 逆向实战篇(加密数据包破解)
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...
- JS逆向实战3——AESCBC 模式解密
爬取某省公共资源交易中心 通过抓包数据可知 这个data是我们所需要的数据,但是已经通过加密隐藏起来了 分析 首先这是个json文件,我们可以用请求参数一个一个搜 但是由于我们已经知道了这是个json ...
- Spring cloud微服务安全实战-3-2 第一个API及注入攻击防护
先来写一些用户的基础数据的管理的api.就是用户的基本的增删改查.用spring boot可以很容易的写出这种api 首先新建maven的项目 依赖关系 引入依赖.用最新的spring boot ht ...
随机推荐
- 给无网络的CentOS服务器下载rpm包的一个解决办法
很多公司的服务器为了安全都在内网, 是无法直接连接互联网的, 无法连接互联网就无法使用yum等的包管理器安装rpm包等. 有时候一些rpm包还是能很好的提高性能的, 所以可以使用多种方式获取rpm包进 ...
- 容器方式运行Mysql8.0.26的方法
容器化运行Mysql8.0.26测试环境的方法 1. 前言 之前为了好处理,都是二进制包的方式安装mysql,但是有时候需要下载和安装也比较费时费力, 今天中午在弄Oracle RAC时想着以后能够容 ...
- 根据TxID获取上链数据
根据TxID获取上链信息 前段时间应甲方爸爸的要求,需要在现有的业务系统中新增一个根据TxID来查询上链信息的接口.搜了一圈发现相关的信息很少,最后只能祭出终极大招:Read Source Code. ...
- springboot security 权限控制 -- @PreAuthorize 的使用
1. 说明 security 鉴权方式常用的有两种配置,1.配置文件中配置:2.使用注解标注:他们都是基于 acess 表达式,如果需要自定义逻辑的鉴权认证,只需要自定义 access 表达式即可.本 ...
- pandas高效读取大文件的探索之路
使用 pandas 进行数据分析时,第一步就是读取文件.在平时学习和练习的过程中,用到的数据量不会太大,所以读取文件的步骤往往会被我们忽视. 然而,在实际场景中,面对十万,百万级别的数据量是家常便饭, ...
- 来啦!2020 Java开源项目权威排名解读:Spring Boot排名稳定、Shiro未上榜
这篇文章对于我们做技术选型以及技术学习都有极强的指导性作用,建议收藏! 原创不易,若有帮助,欢迎点赞! 推荐: 接近100K star 的Java学习/面试指南 Github 95k+点赞的Java面 ...
- PGL图学习之图游走类metapath2vec模型[系列五]
PGL图学习之图游走类metapath2vec模型[系列五] 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5009827?contr ...
- LyScriptTools 反汇编类API接口手册
LyScriptTools模块实在LyScript模块反汇编基础上封装而成,其提供了更多的反汇编方法,可以更好的控制x64dbg完成自动化反汇编任务,API参考手册如下. 插件地址:https://g ...
- 分享四个实用的vue自定义指令
v-drag 需求:鼠标拖动元素 思路: 元素偏移量 = 鼠标滑动后的坐标 - 鼠标初始点击元素时的坐标 + 初始点击时元素距离可视区域的top.left 将可视区域作为边界,限制在可视区域里面拖拽 ...
- 1.29 深痛教训 关于 unsigned
unsigned long long 无符号长长整型,常用于比 long long 大一倍的整数范围或自然溢出 \(\bmod 2^{64}\) unsigned long long 范围为 \(0\ ...