爬虫过程中加密参数算法还原(核心知识基于python)

部署运行你感兴趣的模型镜像

1.加密参数算法还原的优劣:

        优:1.参数生成的速度极快,调用快,整个过程在几毫秒间就能完成。
                2.不用关心环境问题,没错,不用关心环境问题!
                3.对抗周期长,即在某个网址的参数加密上的算法更新时,进行算法还原,在这过后很长时间内官方不会动算法,环境可能经常动,就算更新只要他不是从头到尾更新都能快速的找到相应的位置。
        劣:1.第一次算法还原时间较长

纯算的结果和时间差:

1.纯算3毫秒,不涉及调库

2.补环境33毫秒,不涉及python调用

2.学会算法还原的基础

        1.debug调试(这里集中于pc端的爬虫)

                ·开发者工具的熟练使用
                ·加密位置的查找
                ·混淆文件的平坦流调试

                由于这是爬虫开发者的基础这里不详细展开说说了

         2.常见的加密

                ·MD5
                ·哈希加密
                ·对称加密
                ·非对称加密
                小提示:因为这里最后的结果是0x(十六)进制,而加密过程中以0b(二)存在所以,只要用对应的加密长度......就能得到它命名后的数字部分几位除了MD5


        3.位运算

                对常见的加密进行魔改或者自定义加密算法都离不开它,位运算是加密的核心部分没有了它就没有高难度的加密,所以这部分内容是整个算法还原的骨骼与血肉。

        基本概念:

        二进制正数:最左侧为0
        二进制负数:最左侧为1,对应的正数取反加1就是该负数

                运算符有<<,>>,>>>(python中不存在),&,|,^,~ 前6个均是二元运算符,第七个是取反,并且都是对数的二进制进行位运算,名字有按位**的表示左右都是二进制的运算,否则是单个二进制或者二进制和整数,具体如下:

  • <<或>>:对二进制数左移或者右移,位移后正数左侧不足位补0,负数左侧不足位补1,右侧超出位被丢弃。eg:1010 >>  2 = 1110
    a = 1010 >>  2
    print(a)
    ,从右往左看分别是0,1,0,1,为了理解令它们分别为a,b,c,d,他们分别往右移动2位,显然a,b没有了超出位了,c,d到了原来的a,b处,左侧2位空了且为正所以补1。
  • &或|:js中&&,|| 分别表示与,或。这里&,|分别表达按位与,按位或,顾名思义了,这里只说一个,可以类比得到另外一个,&->左右的二进制都为1时为1,否则为0,说明了,只会改变1的值,2个中有一个有0那么运算个结果对应的位为0,那么|->只会改变0的值,2个中有一个有1那么运算个结果对应的位为1
  • ~或^:~就是取反0变1,1变0。^为按位异或,左右位的数相同时为0,否则为1,用于快速交换变量,加密解密
    a ^= b
    b ^= a
    a ^= b
    cipher = data ^ key#加密
    cipher ^ key = data#解密
    
  • >>>:无符号右移,
    1.首先要32位截断即 & 0xF*8(F对应1111),对于大于32位截断,小于的不变,注意通过这个操作的
    结果是无符号的整数如果通过它计算过后得到a,js中会是有符号,python是我们自己整的没有符号,所以就有了下一步
    2.32无符号整数变为32有符号整数:
a = a if a <=0x7FFFFFFF else a - 0x100000000

3.理解参考

小伙伴们别着急,这个不难理解,0xF*8中的F是1111,32位就是4*8 = 32,

32有符号范围是(-2**31~2**31-1)1位用来表示符号。0x7FFFFFFF是有符号最大整数,
0x10000000是2*32次方。小伙伴们懂了吧~

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值