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

Python爬虫之Js逆向案例(11)-百度翻译

声明:百度翻译加密逆向分析仅用于研究和学习,如有侵权,可联系删除

大家好,有小伙伴私信我说百度翻译能不能写一个教程?好吧,百忙中赶紧来把文章整理出来,于是今天的逆向案例那就是百度翻译!回顾一下,我们上几期分享了知乎、webpack、爬虫数据批量保存数据库、、、,刚进来的小伙伴有需要的可到我的主页查看哦!

为了照顾刚入门童鞋,文章每一步的分析过程尽可能的详细(有经验的同学可以选择感兴趣的地方快速浏览)

下面会进行以下几步进行分析(下方演示过程全部使用chrome浏览器);

  1. 定位加密字段;
  2. 扣代码;
  3. 结果演示;

一.定位加密字段

老规矩,首先我们要定位一下关键字段,于是反手就是f12,查看一下接口,看看哪个接口是关键接口,这个过程相信看完我前几期的文章之后就很容易找到了吧!如下图:

在这里插入图片描述
不过技巧点还是要再讲一下:定位到关键接口之后,对比变化字段时,最好把当前接口过滤出来,然后每次点击接口,可以很容易对比出字段,比如上图中的过滤输入框v2;

通过对比,我们锁定了关键字段sign、token;
sign:搜索关键词变化之后这个就变了,说明这个值的生成很可能跟关键词有关系;
token:每次都是一样的,我们去全局搜索一下果然找到了,如下图:
在这里插入图片描述
那我们就能确定只要能把sigin的值逆向出来,那就结束了;

二.扣代码

全局搜索字段sign,格式化结果,如下图:

在这里插入图片描述

搜索技巧:搜索的时候最好使用sign:的格式,因为这是个请求入参,肯定有个地方写的是sign:xxx,所以我们加上一个冒号的话会提高准确率,你懂的!

找到所有的可疑点之后我们都打上断点,重新输入关键词触发搜索接口,就会进入上图一样的断点位置;

我们把鼠标悬浮在b函数上,点击悬浮框的链接,进入到具体的实现函数中,如下图:
在这里插入图片描述
上面点击完之后会进入到下图这个地方,20868行是把一个匿名函数赋值到t.exports上;
在这里插入图片描述

经过调试,我们发现上面这个匿名函数不是很大,于是整个拷贝出来到一个js文件中,给匿名函数写个名字b,如下图:

在这里插入图片描述
调试的时候你会发现代码还会运行到20868行上面函数e、函数n,于是全部扣下来,如下图:
在这里插入图片描述

扣下来之后的代码如图:
在这里插入图片描述
我们调用函数b运行一下试试效果,如下图:
在这里插入图片描述

报错了啊!,很明显,缺了window,于是补上,再次运行:
在这里插入图片描述
不报错了,发现跟浏览器上运行不一致,调试发现,有个字段gtk缺了,补上,如图下图

在这里插入图片描述
在这里插入图片描述

对比之后,跟浏览器端一致,结束!

爬虫结果展示

在这里插入图片描述


后期会持续分享爬虫案例-100例,不想自己造轮子的同学可加入我的知识星球,有更多技巧、案例注意事项、案例坑点终结、源码、答疑提问特权等你哦!!!

欢迎加入「python、爬虫、逆向Club」知识星球

相关文章:

  • NX二次开发-外部开发模式exe(不打开NX进行后台操作)以及封装exe传参调用
  • 分享8个前端可以制作360度WebVr全景视图框架
  • 物联网毕设 -- 智能厨房检测系统
  • I2C基础
  • 社区老年人服务系统设计与实现(安卓APP+SSH后台+MYSQL)
  • 《Unity Magica Cloth从入门到详解》之(4)MeshCloth网布
  • uniapp小程序长按识别关注公众号
  • 计算机毕业设计springboot+vue基本微信小程序的乐旋乒乓球课程管理系统 uniapp 小程序
  • dir_day11
  • 漫画 | 打死我也不学编译了!
  • 14天机器学习DAY1-5|线性回归原理小结
  • 飞机电子式模拟空速表的设计与制作
  • 机器学习笔记 - YOLOv7 论文简述与推理
  • webpack5学习笔记
  • CTFHub | 默认口令
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Apache Pulsar 2.1 重磅发布
  • If…else
  • Javascript 原型链
  • mongodb--安装和初步使用教程
  • Mysql优化
  • Webpack 4x 之路 ( 四 )
  • 百度地图API标注+时间轴组件
  • 从PHP迁移至Golang - 基础篇
  • 前端相关框架总和
  • 三分钟教你同步 Visual Studio Code 设置
  • 微信小程序设置上一页数据
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • (12)目标检测_SSD基于pytorch搭建代码
  • (70min)字节暑假实习二面(已挂)
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (二十四)Flask之flask-session组件
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (含答案)C++笔试题你可以答对多少?
  • (七)Activiti-modeler中文支持
  • (十六)视图变换 正交投影 透视投影
  • (四)鸿鹄云架构一服务注册中心
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (转)memcache、redis缓存
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • *上位机的定义
  • .gitignore文件_Git:.gitignore
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 和 .NET Framework 中的 MEF2
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .NET 发展历程
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .Net的DataSet直接与SQL2005交互
  • .NET简谈设计模式之(单件模式)
  • .NET开发不可不知、不可不用的辅助类(一)
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [Android Studio 权威教程]断点调试和高级调试