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

图灵爬虫练习平台第七题千山鸟飞绝js逆向

题目七:千山鸟飞绝

还是先进入开发者模式,一进来还是一个无限debugger,直接右键点击一律不在此处停留

然后点击下一页,复制curl进行代码生成,然后就会发现加密内容是headers中的m,ts,还有参数中的x,接下来还是进行堆栈分析

前面的那两个就是直接复制的文件,可以不用看,直接就看下面的进去之后发现里面全部都是看不懂的

着就是明显的ob混淆,需要的解混淆的网站里面去解混淆,其实这个解混淆第一次有一个错误,后面你就会发现,解混淆之后,你就会发现加密的位置可能在这里

解混淆工具

解混淆测试版

 
$.addRequestInterceptor(function (_0x2410d2) {let _0x2498e1 = new Date().getTime();let _0x48003c = window.eeee("xialuo" + _0x2498e1);_0x2410d2.headers = _0x2410d2.headers || {};_0x2410d2.headers.m = _0x48003c;_0x2410d2.headers.ts = _0x2498e1;_0x2410d2.url += "&x=" + encodeURIComponent(dd.a.SHA256(_0x48003c + "xxoo"));return _0x2410d2;
});
$.addResponseInterceptor(function (_0x3dd6df, _0x1ec311, _0x2ea8f0) {if (_0x2ea8f0.statusText === "OK" || _0x2ea8f0.statusText === "success") {const _0x10319d = xxxxoooo(_0x3dd6df.r);const _0x3f6d4e = x1.parse(_0x10319d);return _0x3f6d4e;} else {return _0x3dd6df;}
});


断点调试以后可以发现这里就是加密的位置

可以看到, param参数的x为请求头的参数m+固定值"xxoo" , 经过SHA256算法得到

验证SHA256算法: SHA256 - 在线工具

然后就可以把他改一下

function main123 () {let ts = new Date().getTime().toString();let m = eeee("xialuo" + ts);let x = encodeURIComponent(CryptoJS.SHA256(m + "xxoo"));return {"ts": ts,"m": m,"x": x}
}

然后运行这串代码,接下来就是补环境,你在解混淆的代码中,把需要的复制过来,然后这个可以改变一下,把他这种该成一个函数

是跟上一题一样,继续找他的加密,加密位置可以发现就在这个加密的下边

解混淆

$.addResponseInterceptor(function (_0x3dd6df, _0x1ec311, _0x2ea8f0) {if (_0x2ea8f0.statusText === "OK" || _0x2ea8f0.statusText === "success") {const _0x10319d = xxxxoooo(_0x3dd6df.r);const _0x3f6d4e = x1.parse(_0x10319d);return _0x3f6d4e;} else {return _0x3dd6df;}
});

然后也把他改一下,继续补环境,能发现值被输出出来了

http://www.xdnf.cn/news/364213.html

相关文章:

  • 宠物医院预约|基于Java+vue的宠物医院预约平台系统(源码+数据库+文档)
  • windows celery OSError: [WinError 6] 句柄无效
  • ELF-如何学习
  • C++(1):整数常量
  • Mysql存储引擎
  • 期刊论文写作注意点
  • LVGL源码学习之渲染、更新过程(1)---标记和激活
  • 【C/C++】为什么要noexcept
  • 机器学习第二讲:对比传统编程:解决复杂规则场景
  • 机器学习实操 第二部分 第19章 大规模训练和部署 TensorFlow 模型
  • RPG11.创建玩家Ability类
  • 基于CNN的猫狗图像分类系统
  • 推荐系统(二十五):基于阿里DIN(Deep Interest Network)的CTR模型实现
  • SpringCloud的作用
  • Java高频基础面试题
  • EMC|AC/DC转换器ESD静电防护
  • The 2024 ICPC Kunming Invitational Contest G. Be Positive
  • 【Python-Day 11】列表入门:Python 中最灵活的数据容器 (创建、索引、切片)
  • 【Spring】手动创建Spring|Boot项目
  • 【Golang】gin框架动态更新路由
  • C++--NULL和nullptr的区别
  • ATH12K 驱动框架
  • ch09 题目参考思路
  • 不黑文化艺术学社首席艺术家孙溟㠭浅析“雪渔派”
  • AI赋能智能客服革新:R²AIN SUITE 如何破解医疗行业服务难题?
  • 哈希表扩容怎么处理新插入的值?Swift 是怎么做的?
  • 力扣-19.删除链表的倒数第N个结点
  • Nacos源码—Nacos配置中心实现分析
  • Mysql数据库进阶
  • LMMSE、MMSE和LS