逆向实战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 ...
随机推荐
- DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法
DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法 背景 公司内经常有从其他服务器备份数据库实例的需求 之前的操作一般需要,备份源服务器使用expdp将source导出dump文件. ...
- SHA加密在实际应用中的优势与局限
SHA加密算法简介 SHA(Secure Hash Algorithm)加密算法是一种单向加密算法,常用于加密数据的完整性校验和加密签名.它是由美国国家安全局(NSA)设计并广泛应用于各种安全场景.S ...
- 【如何提高IT运维效率】深度解读京东云基于NLP的运维日志异常检测AIOps落地实践
作者:京东科技 张宪波.张静.李东江 基于NLP技术对运维日志聚类,从日志角度快速发现线上业务问题 日志在IT行业中被广泛使用,日志的异常检测对于识别系统的运行状态至关重要.解决这一问题的传统方法需 ...
- vue3新特性
值得注意的新特性 1==> 组合式 API 2==> Teleport 3==> 片段 4==> 触发组件选项 5==> createRenderer API 来自 @v ...
- 【解决了一个小问题】terraform创建service后,如何获取VIP的值?
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 创建一个pod后,再为这个pod创建一个对应的servic ...
- 【K哥爬虫普法】百度、360八年恩怨情仇,robots 协议之战终落幕
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知 ...
- windows加壳程序WinLicense与Themida
反调试提示 开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框. WinLicense A monitor program has been found ru ...
- Unity中的string gc优化
在项目中如果有大量的字符串拼接,比如每秒执行的倒计时,协议中的日志输出,每次拼接会产生大量的gc,尤其是在ILRuntime下执行 gc alloc的次数会更加频繁. zstring 有两个字符串处理 ...
- [XXL-JOB] 分布式调度XXL-JOB快速上手
1.概述 1.1什么是任务调度 我们可以思考一下下面业务场景的解决方案: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前三天进行短信提醒 某财务系 ...
- PHP截取文章内容
<?php /** * 实现中文字串截取无乱码的方法. */ function getSubstr($string, $start, $length) { if (mb_strlen($stri ...