吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2070|回复: 5
收起左侧

[讨论] 起点字体加密学习(小白日常学习 欢迎交流 学习使我快乐)

[复制链接]
lihu5841314 发表于 2021-6-25 21:31
[Asm] 纯文本查看 复制代码
import requests,re
from  fontTools.ttLib  import  TTFont    #导入字体 处理的库
"""
字体解密最好爬下来解密,因为网页上的是动态的随时变换,会给自己解密带来干扰、 推荐使用FontCreator软件
"""
url = "https://book.qidian.com/info/1025224209"
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36',
}
resp = requests.get(url=url,headers=headers)
resp.encoding = "utf-8"
html = resp.text
# with open('yuan_shi.html',"w",encoding="utf-8") as  f:
#      f.write(resp.text)
# with open('yuan_shi.html','r',encoding='utf-8')  as f:
#          ht = f.read()
font_url = re.findall("format\('eot'\); src: url\('(.*?)'\)", html)[0]
path = font_url.split("/")[-1]
font_response = requests.get(url=font_url,headers=headers).content
with open(path,'wb')  as pf:
     pf.write(font_response)
fo = TTFont(path)
fo.saveXML('fo')
#获取字体的映射关系
font_map = fo['cmap'].getBestCmap()
print(font_map)
"""
{100281: 'three', 100283: 'five', 100284: 'four', 100285: 'zero', 
100286: 'seven', 100287: 'period', 100288: 'eight', 
100289: 'nine', 100290: 'one', 100291: 'two', 100292: 'six'}
(𘟀𘞿𘟃 这个是在网页上源代码加密了的)  网页上显示的是8.2   从而得出得100288: 'eight'就为8 
1.先把𘟀换成 'eight'  再换成 8  通过字典的赋值方法实现
"""
mima ={
'eight': '8','period': '.',
'two':'2','seven': '7',
'four':'4','three': '3',
'six':'6','five': '5',
'zero':'0','one':'8','nine':'9',
}
for  key  in font_map:
     font_map[key] = mima[font_map[key]]   #通过字典的赋值将最后呈现的值  通过中间不变的中间商(呵呵) 传递给网页加密的值  让其的cmap键值对直接呈现解密后的数字
print(font_map)
for key,velue in  font_map.items():  #用for  循环遍历  把源码中的加密字符串全部替换   取出字典的键和值 是dict.item()  一定不要忘记括号
     html = html.replace("&#"+str(key)+';',str(velue))    #  字符串拼接
print(html)  #解密完成

"""
看完视频练习的 自学  看完视频 自己写一篇 还是挺不错的  有很多自己的找的方法流程  老师教的是老师的   自己学到的就是自己的了  
"""

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

CCQc 发表于 2021-6-26 06:56
感谢分享
RS水果 发表于 2021-6-26 09:13
麻烦死了  网站一换字体  又得重新更新代码  不如直接截屏指定区域  然后去调用各个服务商(譬如百度OCR)的OCR识别
Ercilan 发表于 2021-6-26 10:16
只要用点心,自己找方法就可以了,不需要老师。我都做完猿人学的题目了。
头像被屏蔽
麦子1995 发表于 2021-6-26 14:15
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| lihu5841314 发表于 2021-6-26 18:19
麦子1995 发表于 2021-6-26 14:15
这种视频在哪找的的呀,求链接

B站 ----------------------------------------
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表