12下一页
返回列表 发布新帖

[代码] 关于字体加密

309 13
发表于 2025-2-11 14:54:50 来自手机 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 天天的鸟蛋蛋 于 2025-2-11 15:02 编辑

补全关耳的方法前提提要
现在字体只剩两种方法
一种是以废弃的方法
java.queryBase64TTF()
在新版中不可用
第一种方法
找字体编码写替换字典
可以去看关耳的方法 他用的就是这种
ps:只能应对不随机(随机字体这种方法直接废)
第二种方法  java.queryTTF()
由 by:洛 搭建的加密网站
https://rain.ink/chapter/index.html
里面用到的就是字体加密,可以拿来参考
这种方法只支持ttf格式的字体 woff2无法支持 ttf改变了字形也无法支持
ps:某个垃圾网站就是woff2随机字体恶心死了
1
Screenshot_2025-02-11-14-24-04-61_90024215e504237c76412be1999ad914.webp
有下面特征的都是字体加密
2
IMG_20250211_142628.webp
3 查看网站源码找特征
IMG_20250211_142839.webp

4  会发现下面有一大长串的Unicode字符 这就是内容来源
Screenshot_2025-02-11-14-27-19-58_97fd94705d3fc932580494f5b5079f69.webp

5 我们继续看一下 可以看到字体文件在这里

Screenshot_2025-02-11-14-28-00-71_97fd94705d3fc932580494f5b5079f69.webp
但我们发现这个字体没有准确路径
6  点击加载日志看字体准确路径
IMG_20250211_143232.webp

可以看到字体在这里
Screenshot_2025-02-11-14-34-04-50_97fd94705d3fc932580494f5b5079f69.webp
然后我们下载这个文件 点一下这个字体

Screenshot_2025-02-11-14-35-00-47_97fd94705d3fc932580494f5b5079f69.webp

最后我们到识别网站 或者 到分析字体是什么字体的网站
关耳那个只能看字体编码
这个不仅可以看字体编码,也能看源字体是什么
ps:只是有广告,可以开广告屏蔽器,这样没广告
https://www.bejson.com/ui/font/

先导入字体> 把显示出的文字复制到百度搜索
找出他的源字体文件
IMG_20250211_145922.webp


我们下载同名的文件

下载完后,接下来就是方法
先使用正则匹配拿到字体的参数再拼接链接
然后我们就得到我们想要
我们怎么样获取正文

  1. //正文规则无需开webView
  2. <js>
  3. var JsDom = Packages.org.jsoup.Jsoup;
  4. var Document = Packages.org.jsoup.nodes.Document;
  5. var Element = Packages.org.jsoup.nodes.Element;

  6. // 使用 Jsoup 解析 HTML
  7. var document = JsDom.parse(src);

  8. // 提取 encryptedText 的内容
  9. var contentMatch = src.match(/const encryptedText \= \`(.*)\`/);


  10. if (contentMatch && contentMatch[1]) {
  11.     var encryptedText = contentMatch[1];

  12.     // 将 Unicode 编码的字符串转换为普通文本
  13.     var decodedText = encryptedText.replace(/\\u([\dA-Fa-f]{4})/g, (_, hex) =>
  14.         String.fromCharCode(parseInt(hex, 16)));

  15.     // 假设 data 是一个 JSON 对象或数组
  16.     var data = {
  17.         decodedText: decodedText,
  18.       
  19.     };

  20.     // 将 data 转换为格式化的 JSON 字符串
  21.     var jsonString = JSON.stringify(data, null, 2); // 使用缩进为2的格式化

  22.     // 输出格式化的 JSON 字符串
  23.     a = decodedText;
  24. }

  25. </js>

复制代码
  1. // 替换规则
  2. //f1网站字体
  3. //f2原字体
  4. <js>
  5. (function(){
  6.   var b64=String(src).match(/src: url\('(\w+.ttf)'\)/);
  7.   java.log("https://rain.ink/chapter/"+b64[1]);
  8.   if(b64){
  9.     var f1 = java.queryTTF("https://rain.ink/chapter/"+b64[1]);
  10.     var f2 = java.queryTTF("https://f004.backblazeb2.com/file/lineon-resource/uploads/2024/12/%E6%B1%89%E4%BB%AA%E4%B8%AD%E5%AE%8B%E7%AE%80.ttf");
  11.      return java.replaceFont(result, f1, f2);
  12.     //return java.replaceFont(result, f1, f2, true); // 过滤掉f1中不存在的字形
  13.   }
  14.   return result;
  15. })()
  16. </js>
复制代码


完全体正文规则
  1. <js>
  2. var JsDom = Packages.org.jsoup.Jsoup;
  3. var Document = Packages.org.jsoup.nodes.Document;
  4. var Element = Packages.org.jsoup.nodes.Element;



  5. // 使用 Jsoup 解析 HTML
  6. var document = JsDom.parse(src);

  7. // 提取 encryptedText 的内容
  8. var contentMatch = src.match(/const encryptedText \= \`(.*)\`\;/);
  9. //提取字体内容。
  10. var fontMatch = src.match(/src\s*:\s*url\('(.+\.ttf)'\)/);
  11. if (contentMatch && contentMatch[1]) {
  12.     var encryptedText = contentMatch[1];

  13.     // 将 Unicode 编码的字符串转换为普通文本
  14.     var decodedText = encryptedText
  15.         .replace(/\\u([\dA-Fa-f]{4})/g, (_, hex) =>
  16.             String.fromCharCode(parseInt(hex, 16)))
  17.       
  18.     // 输出解码后的文本
  19.     a=decodedText;
  20.     //拼接网站的字体
  21. var f1 = java.queryTTF("https://rain.ink/chapter/"+fontMatch[1]);
  22.             
  23.            // 解析源文件 解析字体
  24.     var f2 = java.queryTTF("https://f004.backblazeb2.com/file/lineon-resource/uploads/2024/12/%E6%B1%89%E4%BB%AA%E4%B8%AD%E5%AE%8B%E7%AE%80.ttf");
  25.     result = a.split("").map(x => java.replaceFont(x, f1, f2, true ))
  26.     result.join("")
  27.    
  28.   }
  29. </js>
复制代码


参与
by另一个书友圈 提供字体替换
by洛 提供加密字体网站
by世界 解决思路
by天天的鸟蛋蛋 正文规则

评论13

动脉喝脉动Lv.4 发表于 2025-2-11 15:05:46 来自手机 | 查看全部
感谢分享
回复

使用道具 举报

YaoyuanduLv.4星光赞助(未赞助不可申请) 发表于 2025-2-11 15:18:34 来自手机 | 查看全部
感谢分享先看看
回复

使用道具 举报

天天的鸟蛋蛋楼主Lv.14 发表于 2025-2-11 15:24:29 来自手机 | 查看全部
你们想看什么内容 ?
回复

使用道具 举报

sgbngdndLv.4 发表于 2025-2-11 15:38:17 来自手机 | 查看全部
页面中的浏览器是什么浏览器?看着不错
m浏览器  详情 回复
发表于 2025-2-11 15:40
回复

使用道具 举报

天天的鸟蛋蛋楼主Lv.14 发表于 2025-2-11 15:40:00 来自手机 | 查看全部
sgbngdnd 发表于 2025-2-11 15:38
页面中的浏览器是什么浏览器?看着不错

m浏览器
回复

使用道具 举报

活力宝Lv.10 发表于 2025-2-11 15:51:01 | 查看全部
全程围观.
回复

使用道具 举报

晚安丶星期五 发表于 2025-2-11 17:03:56 来自手机 | 查看全部
围观大佬
回复

使用道具 举报

anyefenghenLv.4 发表于 2025-2-11 18:13:51 来自手机 | 查看全部
感谢大佬辛苦了
回复

使用道具 举报

5456822Lv.4星光赞助(未赞助不可申请) 发表于 2025-2-11 18:19:00 | 查看全部
干货
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

ysqbbs@outlook.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加QQ群
Copyright © 2001-2025 源社区 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加QQ群
返回顶部
快速回复 返回顶部 返回列表