当前位置:   article > 正文

猿人学第四题-CSS加密【雪碧图、样式干扰】_style="left:0.0px

style="left:0.0px

练习链接:http://match.yuanrenxue.com/match/4
学习链接:
https://bbs.tampermonkey.net.cn/thread-203-1-2.html
http://www.qishunwang.net/news_show_7882.aspx

在这里插入图片描述

04.js文件:

在这里插入图片描述

04.py文件

import execjs
import os,json,time,re
from requests_html import HTMLSession,HTML
session = HTMLSession()

# 获取最后的30个字符
num_dict = {
    "H/AOyW6SvqnweCAAAAAElFTkSuQmCC":0,
    "kYAKYHOb9g+7HMAAAAAElFTkSuQmCC":1,
    "8BJlTqZkAngxQAAAAASUVORK5CYII=":2,
    "D/AbAv8WdRHzjKAAAAAElFTkSuQmCC":3,
    "UL4d3X/AgqvQAAAABJRU5ErkJggg==":4,
    "B/3J2gmVZucHAAAAAASUVORK5CYII=":5,
    "gL80YzEyuMQpQAAAAASUVORK5CYII=":6,
    "LwC1sVsHrJiVs0AAAAAElFTkSuQmCC":7,
    "L8BvLZG6cpuRANAAAAAElFTkSuQmCC":8,
    "4ApbEnkB6qHqsAAAAASUVORK5CYII=":9,
}
headers = {
    'Host': 'match.yuanrenxue.com',
    'user-agent':'yuanrenxue.project',
    'Referer': 'http://match.yuanrenxue.com/match/4',
}
def parse(source, j_key):
    info = []
    html = HTML(html=source)
    for td in html.find('td'):
        # 1.获取数字和数字偏移值
        num_list = []
        for img in td.find('img'):
            mi_class, mi_style, mi_src = img.attrs['class'], img.attrs['style'], img.attrs['src']
            if j_key not in mi_class:
                left = float(re.findall(":(.*?)px",mi_style,re.S)[0]) / 11.5
                num_list.append((num_dict[mi_src[-30:]], int(left)))
        # 坐标偏移操作
        i = 0
        new_num_list = ['', '', '', '', '']
        for num, off in num_list:
            new_num_list[off + i] = str(num)
            i += 1
        info.append(int(''.join(new_num_list)))
    print(f"\n\n数据:{info} \t总和为:{sum(info)}")
    return info
    

def main():
    """
    key:WFKftevolz 
    value:ebglsfv3Wd 
    j_key:5011e193df5414ac8e1caada63eac9ea 
    datas:<tr class="number"><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:34.5px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left: -11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335026381.png" class="img_number" style="left:-11.5px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left: -34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:0px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: 34.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:-23.0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335011830.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left:-23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left:23.0px"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334945029.png" class="img_number" style="left:-23.0px"></td><td><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335351204.png" class="img_number" style="left: 0.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left:0.0px"><img src="https://img-blog.csdnimg.cn/2022010613335125680.png" class="img_number" style="left: -23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left: 11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335093798.png" class="img_number" style="left:11.5px"><img src="https://img-blog.csdnimg.cn/2022010613335418522.png" class="img_number" style="left:-11.5px"><img src="https://img-blog.csdnimg.cn/2022010613334929984.png" class="img_number" style="left: 23.0px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335466013.png" class="img_number" style="left: -11.5px; display: none;"><img src="https://img-blog.csdnimg.cn/2022010613335017910.png" class="img_number" style="left:0px"></td></tr>
    """
    with open(r'./04.js', encoding='utf-8', mode='r') as f:
        infos = []
        JsData = f.read()
        for page in range(1,6):
            url = f"http://match.yuanrenxue.com/api/match/4?page={page}"
            data = session.get(url, headers=headers).json()
            source, key, value = data['info'], data['key'], data['value']
            # 获取加密的隐藏值`j_key`
            j_key = execjs.compile(JsData).call('run_key', key, value)
            # 解析加密的HTML文档内容
            info = parse(source, j_key)
            infos.extend(info)
            # 获取解密的HTML文档内容
            datas = execjs.compile(JsData).call('run_html', source, key, value)
            print(f"key:{key}\nvalue:{value}\nj_key:{j_key}\n解密的HTML文档内容:{datas}")
        print("\n\n这5页的全部数字,计算加和:",sum(infos))
main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

欢迎关注,谢谢哟声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签