当前位置: 首页 > news >正文

图灵爬虫练习平台第九题js逆向

地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvOS8=

f12进入了debugger,右击选择一律不在此处暂停, 点击继续执行

首先就是复制curl,然后到网站进行请求是什么加密

可以看到加密的'm': '1f284f2cc0aa0c4621d8cee0fb7fcd6a51661bd9', 'tt': 'MTc0NDQzNjIyNDU4Mg==',

然后就是hook一下m

var code = function(){
var open = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function (method, url, async){if (url.indexOf("m")>-1){debugger;}return open.apply(this, arguments);
};
}
var script = document.createElement('script');
script.textContent = '(' + code + ')()';
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

hook后可以看到获取到了,然后我们查看调用堆栈 

然后就会发现断住了,然后往上找

到这里就会发现,m的值实在这里生成的,很明显这里经过了混淆,发现这里没有显示m的生成位置,往上找,你就会发现

找个解混淆工具看看

这里就有一个n.data.m = t.MqmaW(c, t[r(1881)](t[r(489)], f)),还有一个n[r(1939)].tt = btoa(f);,可以确定了,这里就是m还有tt的加密位置

js代码

const  CryptoJS=require('crypto-js');function c(n){if(n){return CryptoJS.HmacSHA1('9527'+n,"xxxooo").toString();}
}function run(){let f =new Date()['getTime']();let tt= btoa(f);f=c(time)return {m:f,tt:tt}
}console.log(run())

 

相关文章:

  • 计网学习笔记———通信知识(计算机网络通信单独讲)
  • Flask支持哪些日志框架
  • LC滤波器与电感、电容的区别:技术分析与应用
  • 手机电池健康提示怎么看?
  • [redis进阶六]详解redis作为缓存分布式锁
  • Kaamel白皮书:2025年欧美隐私执法事件简报
  • Ubuntu 22初始配置(root、ssh)
  • ES常识7:ES8.X集群允许4个 master 节点吗
  • 浅谈大语言模型原理
  • Cyrus-Beck算法的计算方法
  • map常用接口及模拟实现
  • python标准库--collections - 高性能数据结构在算法比赛的应用
  • 机器学习第七讲:概率统计 → 预测可能性,下雨概率70%就是典型应用
  • 学习黑客Windows 病毒与威胁防护
  • MySQL全量、增量与恢复
  • wordcount在mapreduce的例子
  • 荣耀手机,系统MagicOS 9.0 USB配置没有音频来源后无法被adb检测到,无法真机调试的解决办法
  • android setImageResource和setBackgroundResource区别
  • 小红书代运营服务商综合排名分析
  • MiniCPM-V
  • 演员黄晓明、金世佳进入上海戏剧学院2025年博士研究生复试名单
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 缺字危机:一本书背后有多少“不存在”的汉字?
  • 王毅同巴基斯坦副总理兼外长达尔通电话
  • 梅花奖在上海|朱洁静:穿越了人生暴风雨,舞台是最好良药
  • 印度证实印巴已同意停火