DX底图还原

news2024/10/6 6:44:30

直接定位到这个地方

我们可以看到他有一个Bn函数,其中传入的参数有n,e,r,t  分别是这些东西

但是我们只需要还原的列表就得看是哪一段是咯

An((i = (i = r.split("/"))[i.length - 1]).split(".")[0])

发现是他之后我们就直接把这个函数扣下来,接着在进去看看是啥逻辑

这里就是直接扣下来就好了,之后

c("\ubd48\u0978\u0954\u09f6\u09a4\u0935")  改为:"length"
o("63,68,61,72,43,6f,64,65,41,74") 改为: 'charCodeAt'
这里他在浏览器里面输出就是这个

for循环里面有一个a函数。补上a函数就行了

最终代码如下:


function a(n, e) {
    for (var i = [1, 2, 0], o = 0; ; ) {
        switch (i[o++]) {
        case 0:
            return !1;
        case 1:
            if (n.includes)
                return n.includes(e);
            continue;
        case 2:
            for (var a = 0, c = n[[r, t].join("")]; a < c; a++)
                if (n[a] === e)
                    return !0;
            continue
        }
        break
    }
}

function An(n) {
            for (var e = [2, 1, 0, 3], r = 0; ; ) {
                switch (e[r++]) {
                case 0:
                    for (var t = 0; t < n["length"]; t++) {
                        var s = n['charCodeAt'](t);
                        if (32 === t)
                            break;
                        for (; a(u, s % 32); )
                            s++;
                        u[["pus", "h"].join("")](s % 32)

                    }
                    continue;
                case 1:
                    var u = [];
                    continue;
                case 2:
                    var d = "h";
                    continue;
                case 3:
                    return u
                }
                break
            }
        }

function Bn(r) {
    return An((i = (i = r.split("/"))[i.length - 1]).split(".")[0]);
}
let urlPATH = 'https://static.dingxiang-inc.com/picture/customiz/LdgVZXVXu9/zib3/4215e07e8d4f4a1fa51fa75d38fd2c8f.webp'
let pathList = Bn(urlPATH)
console.log(pathList)

这里生成列表之后就需要使用Python还原,

from PIL import Image

# 读取乱序图
# url = 'https://static.dingxiang-inc.com/picture/customiz/LdgVZXVXu9/zib3/4215e07e8d4f4a1fa51fa75d38fd2c8f.webp'
_img = Image.open("xx.webp")
# 乱序图还原数组(图片与数组一一对应,此数组 对应上方的url背景图)
arr = [
  20, 18, 17, 21,  5, 16, 23,  6, 24,
   4, 22,  7, 25,  1, 19,  8,  2, 26,
  27,  9,  3, 28, 29, 10, 30, 31, 11,
  12,  0, 13, 14, 15
]


# 创建一个新的背景图
new_img = Image.new('RGB', (400, 200))  # 宽400 高200

for index in range(len(arr)):
    c = arr[index] * 12
    # 从背景图中扣出相应的小图
    l = _img.crop((c, 0, c + 12, 200))  # 图片剪切crop(x,y,x1,y1) 四个坐标
    # 将扣出的小图 还原到正确的位置
    new_x = index * 12
    new_img.paste(l, (new_x, 0))
new_img.paste(_img.crop((384, 0, 400, 200)), (384, 0))  # 最后的边框 32*12=384
new_img.save("tt.png")

还可以看看极验底图还原:某验二代,三代滑块底图还原_qq_2081540885的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/977349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【vue2第十三章】自定义指令 自定义v-loading指令

自定义指令 像 v-html&#xff0c;v-if&#xff0c;v-for都是vue内置指令&#xff0c;而我们也可以封装自定义指令&#xff0c;提升编码效率。 什么是自定义指令&#xff1f; 自己定义的一些指令&#xff0c;可以进行一些dom操作&#xff0c;扩展格外的功能。比如让图片懒加载…

第七章:敏捷开发工具方法-part2-CI/CD工具介绍

文章目录 前言一、CI-持续集成1.1 安装部署gitlab 二、gitlab CI配置三、jenkins实现CI / CD3.1 安装jenkins3.2 配置CI3.3 配置CD3.4 其他构建方式1、定时构建2、指定参数构建3、webhook自动根据git事件进行构建 前言 什么是CI/Cd&#xff1f; CI-Continuous integration&…

web前端——简单的网页布局案列

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 目录 问题背景 解决样例 …

[Vue3 博物馆管理系统] 使用Vue3、Element-plus tabs组件构建选项卡功能

系列文章目录 第一章 定制上中下&#xff08;顶部菜单、底部区域、中间主区域显示&#xff09;三层结构首页 第二章 使用Vue3、Element-plus菜单组件构建菜单 第三章 使用Vue3、Element-plus走马灯组件构建轮播图 第四章 使用Vue3、Element-plus tabs组件构建选项卡功能 [第五…

Tomcat多实例和负载均衡动静分离

一、Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置Tomcat环境变量 修改端口号 修改tomcat中startup.sh和shutdown.sh文件添加tomcat环境变量 启动Tomcat中的startup.sh 浏览器测试 http://192.168.30.100:8080 http://192.168.30.100:8081 二、负载均衡动静分离…

GPT 内部 — I : 了解文本生成

年轻的陀思妥耶夫斯基被介绍给生成AI&#xff0c;通过Midjourney创建 一、说明 我经常与不同领域的同事互动&#xff0c;我喜欢向几乎没有数据科学背景的人传达机器学习概念的挑战。在这里&#xff0c;我试图用简单的术语解释 GPT 是如何连接的&#xff0c;只是这次是书面形式。…

Elasticsearch:使用 ESRE 和生成式 AI 了解 TLS 日志错误

作者&#xff1a;DAVID HOPE 本博客介绍了 Elasticsearch 相关性引擎 (ESRE​​) 及其 Elastic Learned Sparse Encoder 功能的新颖应用&#xff0c;特别是在日志分析中。 最近发布的 Elasticsearch Relevance Engine™ (ESRE™) 包含一系列重要功能&#xff0c;可增强搜索能力…

2023移动软件开发实验5

2023年夏季《移动软件开发》实验报告 姓名和学号&#xff1f;本实验属于哪门课程&#xff1f;中国海洋大学23夏《移动软件开发》实验名称&#xff1f;实验5&#xff1a;高校新闻网博客地址&#xff1f;XXXXXXXGithub仓库地址&#xff1f;https://github.com/enfantsRichesDepr…

深入理解联邦学习——联邦学习的定义

分类目录&#xff1a;《深入理解联邦学习》总目录 假设有两个不同的企业 A A A和 B B B&#xff0c;它们拥有不同的数据。比如&#xff0c;企业 A A A有用户特征数据&#xff0c;而企业 B B B有产品特征数据和标注数据。这两个企业按照GDPR准则是不能粗暴地把双方数据加以合并的…

【C++】函数重载 ① ( 函数重载概念 | 函数重载判断标准 - 参数个数 / 类型 / 顺序 | 返回值不是函数重载判定标准 )

文章目录 一、函数重载1、函数重载概念2、函数重载判断标准 二、代码示例1、代码示例 - 函数重载2、代码示例 - 返回值不是函数重载判定标准 博客总结 : 重载函数 : 使用 相同 的 函数名 , 定义 不同 的 函数参数列表 ;判定标准 : 只有 函数参数 的 个数 / 类型 / 顺序 的不同…

Pandas常用指令

astype astype的作用是转换数据类型&#xff0c;astype是没办法直接在原df上进行修改的&#xff0c;只能通过赋值的形式将原有的df进行覆盖&#xff0c;即df df.astype(dtype) astype的基本语法 DataFrame.astype(dtype, copyTrue, errorsraise) dtype参数指定将数据类型转换…

Pytorch从零开始实战01

Pytorch从零开始实战——MNIST手写数字识别 文章目录 Pytorch从零开始实战——MNIST手写数字识别环境准备数据集模型选择模型训练可视化展示 环境准备 本系列基于Jupyter notebook&#xff0c;使用Python3.7.12&#xff0c;Pytorch1.7.0cu110&#xff0c;torchvision0.8.0&…

Python综合案例(动态柱状图)

一、基础柱状图 基本代码&#xff1a; """ 演示基础柱状图的开发 """ from pyecharts.charts import Bar from pyecharts.options import LabelOpts # 使用Bar构建基础柱状图 bar Bar() # 添加x轴的数据 bar.add_xaxis(["中国", &q…

谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行

环境&#xff1a; Win10 专业版 谷歌浏览器 版本 116.0.5845.141&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; L盾加密终端 问题描述&#xff1a; 谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行&#xff0c;要全部结束谷歌浏览器进程&…

pear admin 新增模块流程

pear admin 新增模块流程 一、界面新增模块二、增加路由情况三、增加前端页面四、增加db Module配置 一、界面新增模块 增加主菜单 增加子菜单 对应底层表&#xff1a;rt_power 二、增加路由情况 增加路由代码 from flask import render_template from common.utils.righ…

如何实现24/7客户服务自动化?

传统的客服制胜与否的法宝在于人&#xff0c;互联网时代&#xff0c;对于产品线广的大型企业来说&#xff1a;单靠人力&#xff0c;成本大且效率低&#xff0c;相对于产品相对单一的中小型企业来说&#xff1a;建设传统客服系统的成本难以承受&#xff0c;企业客户服务的转型已…

计算机网络初识

目录 1、计算机网络背景 网络发展 认识 "协议" 2、网络协议初识 OSI七层模型 TCP/IP五层(或四层)模型 3、网络传输基本流程 网络传输流程图 数据包封装和分用 4、网络中的地址管理 认识IP地址 认识MAC地址 1、计算机网络背景 网络发展 在之前呢&…

尼康D90使用心得

文章目录 规格参数快速指南相机机身模式拨盘控制面板取景器拍摄信息展示 核心功能指令拨盘拍摄模式自动模式场景模式快门速度和光圈 固件、软件、驱动升级更多细节参考 规格参数 型号尼康D90发布日期2008年08月机身特性APS-C规格数码单反产品定位中端单反传感器类型CMOS传感器…

Redis Redis的数据结构 - 通用命令 - String类型命令 - Hash类型命令

目录 Redis的数据结构&#xff1a; Redis命令&#xff1a; 通用命令&#xff1a;&#xff08;通用指令是部分数据类型的&#xff0c;都可以使用的指令&#xff09; KEYS查询命令&#xff1a; DEL删除命令&#xff1a; EXISTS判断命令&#xff1a; EXPIPE有效期设置命令&…

Ubuntu系统安装JDK1.8(附网盘链接)

这里写目录标题 1.下载JDK&#xff1a;2.将压缩包上传至服务器&#xff1a;3.安装JDK&#xff1a;4.配置环境变量&#xff1a;5.配置生效&#xff1a;6.检查JDK版本&#xff1a; 1.下载JDK&#xff1a; 方式一&#xff1a;[官网链接](https://www.oracle.com/java/technologie…