某汉芯城js逆向

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

逆向目标

  • 网址: aHR0cHM6Ly93d3cuaWNrZXkuY24v
  • 目标: 搜索接口的p值生成

流程分析

打开chrom的控制台抓包寻找数据接口
在这里插入图片描述
这里的font_ident 是字体文件的链接 源码中有可自行正则匹配。_csrf同上。p值就是我们研究的对象

堆栈分析

下个xhr断点,往回查看堆栈
在这里插入图片描述
到如图所示的位置,就找到了p值得生成位置 然后断点打这里开始分析p值是如何生成得。
在这里插入图片描述
可以看到这是个三元表达式 返回结果是window[“i”],然后清空浏览器缓存hook i值是怎么来的

(function (){
	'use strict';
	Object.defineProperty(
		window, 'i', {
	    	set: function(v) {
	        	debugger;
	        	return v;
		    }
		}
	)
}
)();

在这里插入图片描述
去他的上一级查看生成流程
在这里插入图片描述
会发现自己进了vm环境中 在向上一级查看堆栈
在这里插入图片描述
然后查看当前函数体 看看这个值是怎么来得。
在这里插入图片描述
重新下断点刷新页面,4699b4这个参数 查看上一级堆栈 可以发现就是一个时间戳+要查询得型号(base64加密了一下) ,然后拼接了window上得一个值,在清空浏览器 hook一下这个值是怎么来得。
在这里插入图片描述
最后这个56d6就是我们要研究得对象了,然后看当前得函数体,看看这个值得生成过程。
在这里插入图片描述
这样流程就很清晰了 然后缺啥扣啥 就算完了。
这里有个注意事项就是在vm代码里给window.i赋值得时候魔改了md5加密 这里需要注意下
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值