JavaScript <有道翻译之数据解密‘23年12月06日版‘>--案例(三)

前言:

 记得上半年还是去年,有道翻译还是直接返回明文数据;现在也跟着,用接口返回加密数据了; 娱乐一下,破他的密文数据...

成品效果图:

js部分:

对于找他的密文数据有点费时,针对密文--->搜他`地址`和`启动器`不是特别容易,辗转多时(搜:descrypt/json.parse 结合使用更快),有图为证:

然后,对加密数据(发现他是aes加密...必须魔改)进行抠代码:

最终,自己魔改(原代码很多,这是精简后的版本---大家可以自行参照)完成:

const crypto = require('crypto');function f(t){if (!t) return null;// Buffer 对象用于 key 和 iv 参数const keyBuffer = Buffer.from([8,20,157,167,60,89,206,98,85,91,1,233,47,52,232,56]);const ivBuffer = Buffer.from([210,187,27,253,232,59,56,195,68,54,99,87,183,156,174,28]);// 使用 Buffer 对象let r = crypto.createDecipheriv("aes-128-cbc", keyBuffer, ivBuffer);let s = r.update(t, "base64", "utf-8");s += r.final("utf-8");return s;
}function jiemi(data) {return f(data)
}
针对这一块,多次试验发现,他的秘钥和iv基本是固定的,所以直接套用了; 他的小坑就在于,如果你直接用他的代码进行生成秘钥和iv 就需要修改他的buffer格式...(这里有兴趣的可以自己去抠抠试试)

最终:

import execjs
import jsonclass shengcheng():def __init__(self,data):self.data=datadef jiemi(self):mingwen = execjs.compile(open('shujujie.js', 'r', encoding='utf-8').read()).call('jiemi', self.data)  #转成铭文json格式的字符串print(mingwen)  #用于筛选,需要的位置json_data = json.loads(mingwen)  # 转换为Python字典return json_data["translateResult"][0][0]["tgt"]#测试成功与否
data="Z21kD9ZK1ke6ugku2ccWu4n6eLnvoDT0YgGi0y3g-v0B9sYqg8L9D6UERNozYOHqnYdl2efZNyM6Trc_xS-zKtfTK4hb6JP8XwCzNh0avc8qItQUiIU_4wKKXJlIpvMvfKvJaaZzaX6VEtpkr2FdkfoT_Jgbm2GRSVj3r40autIdlImENG8hC0ZH4ww7utwuTt3Oo_ZpXg0BSq9wePSAB75-ChkiGKF9HTIPeCl2bl84SBD1XDfFCZpkKQhecYSs0JLoXOqP2ltavxRrg58Hp1q5uIgZZ_Oo2-Jmd-t1r4es40drcAq5bjmS62M2VJF8D6ojtOh9JTfNwgzD3CxYn-Pd7-TgHMyNEJEkFXTAyxzpjlFqtrCYDE3SZUYlENkqsL8Wrra1hM-1nTfiB-BLcWAdRBynNpP5_54aq_-GBsq8bB_9yEX5ovzDB4_Ry_spVVuUnb39iplMHCdCnjOD3ngiIDbl9SUz-9npjBX05ZYRdPmFPAl424qdoaxeVqnVoH8jQFPZVqaHMzu4mJg0SICDWFH7GP1zqGRbXd3ESjT_iBInl3gICt2XVuhh_nubcELkTEC6xbqEDRQkPUNMpzXJHjcvsLHtcmSW0S9F0445ho9kT2qZYdMBC3Fs0OaHpUtFu77gZpQn7sGiqh8VliXIcUtfvvop-1c-Vu5QjfUbLn2-s5POR9fGYG6rt6ioe_PGmwWj-Cc00zUM7FybfarKTr4D3Rk57R72qpXN4Ja86ZsCAMmDG-m5z31RQh_V7echJ8Kna3Go3yWKCK4vtSwOWrFhiS5RTz6EkrGc3SkFKbb5vp8Wop_84myBtgnBmj4CczhTq2HcOxrJf4def6yDt2uBxyv4bTVGx9Yx3uB4Gx0iK5kYvfma6B_LnkRWk331wjuXKQtBGYIuWkR8J5QtvBmIRVaa7AA19Z4xMIEAqbcuQ5p4I9FCElthBrJd9YOcouHK4U27xxYWJJXcJjAU6hR_oB1nwjAlwdreYSrxqhhnMfxUlzwXnjkeHIQsIrXmyDqn1ecy2NyzUnoIscC4EigujhLKbuFQIzbD5YNhKxCwU1RSNRYYy_A1hktX"
data1 ='Z21kD9ZK1ke6ugku2ccWuwRmpItPkRr5XcmzOgAKD0GcaHTZL9kyNKkN2aYY6yiOAuUGpZ7ENBTwF96PfL5x1bY7ml6fwu-TF83S-wOP7FZ-tPA2CwCh_GUzm4URELtNNJdjz8laGhynLZRmIDdXGzsyof5CH4f4HmMXalC1y1QFbY3YI7WOY_ESxSG7orHbOtDSUl2PIWETvdJNNr0s_igVhLaBVv9Eve_dur3bcenNl_7AbmsDj0kx8cyjkZWpWS0n7TkbUni6ZbeN99ClfQ=='
jie =shengcheng(data1).jiemi()
print(jie)

经验总结:

  逆向web犹如盗墓,探龙点穴--->由大到小,从粗到细;耐心寻找他的棺椁位,然后....

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

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

相关文章

swing快速入门(四)

注释很详细,直接上代码 上一篇 增加内容 流式布局范例 import java.awt.*;public class swing_test_2{public static void main(String[] args){//创建一个窗口对象Frame framenew Frame("test");//设置窗口大小frame.setSize(800,800);//这里演示的是…

Gateway全局异常处理及请求响应监控

前言 我们在上一篇文章基于压测进行Feign调优完成的服务间调用的性能调优,此时我们也关注到一个问题,如果我们统一从网关调用服务,但是网关因为某些原因报错或者没有找到服务怎么办呢? 如下所示,笔者通过网关调用acc…

超声波清洗机会损伤物品吗?一文明白超声波清洗机有哪些优点

正确使用超声波清洗机且买对超声波清洗机是不会对清洗物品造成伤害的! 一、超声波清洗机工作原理是如何的? 超声波清洗机的工作原理是利用超声波产生的空化振动来清洁物体。当超声波在清洗液中传播时,它会产生微小的气泡和振动,这…

论jenkins的使用方法(初步)

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 目录 📑什么是持续集成&…

1-1、Java概述

语雀原文链接 文章目录 1、Java发展2、Java体系结构3、Java特点 1、Java发展 1990年,Sun公司(Stanford University Network,斯坦福大学网络公司)詹姆斯高斯林推出的一门语言最开始注册的名字oak语言(橡树),重名了被迫改成Java2009年Sun公司被甲骨文Ora…

logstash插件简单介绍

logstash插件 输入插件(input) Input:输入插件。 Input plugins | Logstash Reference [8.11] | Elastic 所有输入插件都支持的配置选项 SettingInput typeRequiredDefaultDescriptionadd_fieldhashNo{}添加一个字段到一个事件codeccodecNoplain用于输入数据的…

鼠标光标不见了怎么办?速速get这4个方法!

“非常奇怪,我的鼠标光标用着用着就不见了,这是为什么呢?有什么方法可以解决这个问题吗?” 在电脑使用过程中,有时候会遇到鼠标光标突然消失的情况,这无疑会给我们日常操作带来很大的不便。那么&#xff0c…

使用Python提取PDF文件中指定页面的内容

在日常工作和学习中,我们经常需要从PDF文件中提取特定页面的内容。在本篇文章中,我们将介绍如何使用Python编程语言和两个强大的库——pymupdf和wxPython,来实现这个任务。 1. 准备工作 首先,确保你已经安装了以下两个Python库&…

【办公软件】Outlook启动一直显示“正在启动”的解决方法

早上打开电脑Outlook2016以后,半个多小时了,一直显示这个界面: 解决办法 按WIN R键打开“运行”,输入如下命令: outlook.exe /safe 然后点击“确定” 这样就进入了Outlook的安全模式。 点击“文件”->“选项”-…

nbcio-vue下载安装后运行报错,diagram-js没有安装

更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 根据…

047:vue加载循环倒计时 示例

第047个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

基于java web的网上书城系统的设计与实现论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,商品交易当然也不能排除在外,随着商品交易管理的不断成熟,它彻底改变了过去传统的经营管理方式,不仅使商品…

统信UOS_麒麟KYLINOS上跨架构下载离线软件包

原文链接:统信UOS/麒麟KYLINOS上跨架构下载离线软件包 hello,大家好啊,今天给大家带来一篇在统信UOS/麒麟KYLINOS上跨架构下载离线软件包的实用教程。在我们的日常工作中,可能会遇到这样的情况:需要为不同架构的设备下…

【总结】机器学习中的15种分类算法

目录 一、机器学习中的分类算法 1.1 基础分类算法 1.2 集成分类算法 1.3 其它分类算法: 二、各种机器学习分类算法的优缺点 分类算法也称为模式识别,是一种机器学习算法,其主要目的是从数据中发现规律并将数据分成不同的类别。分类算法通…

排序算法——桶排序/基数排序/计数排序

桶排序 是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 (Bucket sort)的工作的原理: 假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使…

想进阶JAVA高级程序员吗?多线程必学

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…

【SpringSecurity】-- 认证、授权

文章目录 SpringSecurity简介快速入门1.准备工作1.2引入SpringSecurity 认证1.登录校验流程2.原理2.1SpringSecurity完整流程2.2认证流程详解 3.解决问题3.1思路分析3.2准备工作3.3.实现3.3.1数据库校验用户3.3.2密码加密存储3.3.3登录接口3.3.4认证过滤器3.3.5退出登录 授权1.…

输入一组数据,以-1结束输入[c]

我们新手写题时总能看到题目中类似这样的输入 没有给固定多少个数据,我们没有办法直接设置数组的元素个数,很纠结,下面我来提供一下本人的方法(新手,看到有错误或者不好的地方欢迎大佬指出,纠正&#xff0…

【开源】基于Vue和SpringBoot的衣物搭配系统

项目编号: S 016 ,文末获取源码。 \color{red}{项目编号:S016,文末获取源码。} 项目编号:S016,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 衣物档案模块2.2 衣物搭配模块2.3 衣…

HarmonyOS鸿蒙操作系统架构开发

什么是HarmonyOS鸿蒙操作系统? HarmonyOS是华为公司开发的一种全场景分布式操作系统。它可以在各种智能设备(如手机、电视、汽车、智能穿戴设备等)上运行,具有高效、安全、低延迟等优势。 目录 HarmonyOS 一、HarmonyOS 与其他操…