学习笔记--爬虫(11)---js逆向思路和解密思路(初级)

本文介绍了爬虫中遇到的JS逆向分析和解密思路,包括常见加密方式如MD5、DES/AES、RSA和Base64。详细步骤包括定位加密JS文件、设置断点分析加密过程,并通过Python或独立JS文件模拟加密过程获取所需参数。文中以有道翻译在线为例,展示了如何获取加密后的sign参数,帮助实现爬虫请求。
摘要由CSDN通过智能技术生成

目录

js逆向分析思路

js逆向破解思路: 模拟重现


在学习js逆向思路之前,我们先来了解参数的几种常见的加密方式

加密: 就是通过某种算法将原本的数据内容加密为特殊位数的参数

加密方式: 

        (1)Md5加密: 通过md5加密会生成一个16位或者32位的加密参数. 特征位数: 16. 32

        (2)对称加密DES/AES两个: 就是加密和解密用的是同一把钥匙.     特征: 秘钥唯一

        (3)非对称加密RSA: 就是有加密公钥和解密私钥.      特征: 加密解密钥匙不唯一

        (4)base64伪加密: 其实是将数据以另外一种编码方式呈现.  特征: 表示真正的加密算法

了解完之后,在js逆向破解的加密的时候,首先的任务是判断他是什么方式加密,

申明一下,加密方式不止上面四种.只是这四个常见.

在我们爬虫js逆向是非常重要的技能.往往在我们请求网页的时候需要的参数就是加密后的参数.每次还不一样.无法固定参数请求.所有我们需要找到绑定 js 事件.

js逆向分析思路

一般步骤为:

        (1)复制加密参数的键名

        (2)Ctrl + Shift + F 键快捷通过search搜索该键名定位js加密文件,一般会出现几个,选择第一个就OK, 会自动跳转到对应的 js 文件                

        (3)然后Ctrl + F 键快捷通过元素(该键名)绑定事件的监听函数

         (4)在几个监听函数后打上断点, 然后点击执行或者刷新网页,通过断点停止和参数信息判断如何加密的,如果在里面看到关键加密方式,就说明这很大几率是加密过程.

        (5)通过一步一步断点,分析加密参数是如何产生的.

现在以有道翻译在线为例:

        

 

 search搜索定位js文件

 

 

 开始断点分析

 知道如何生成的就是好办了

js逆向如何破解参数加密,从而得到我们需要的参数,正确请求数据包.是爬虫请求哦

js逆向破解思路: 模拟重现

        需求: 获得加密后的密文作为sign的参数

        (1) 利用python代码还原 js执行过程获取结果

        (2) 利用 复制 js文加密事件js代码到你的 js 文件中, 执行 该js文件模拟生成加密参数获取结果.

!!!  这两种方法都将逐个讲解

(1)在爬虫代码中创建一个方法函数,获取我们需要的参数

   
def get_data(self, word):
"""
代码构造我们需要的参数.   word 为我们传入的输入要翻译的原文字符串
这里获取时间戳,用time模块实现,时间戳*1000. 因为时间戳以毫秒为单位,
md5加密这里需要导包, from hashlib import md5  
加密用的两个字符串在js文件中复制下来
"
  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值