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,一经查实,立即删除!

相关文章

通讯录实现

下方是头文件的代码 #define _CRT_SECURE_NO_WARNINGS #include <assert.h> #include<stdio.h> #include<string.h> #include<stdlib.h>#define NAME_MAX 20 #define SEX_MAX 6 #define TELE_MAX 12 #define ADDR_MAX 30 #define MAX 100 #define D…

swing快速入门(四)

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

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

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

中小企业管理者如何培育团队精神?

某石油工程有限公司总经理曾提问&#xff1a;“作为中小企业的管理者如何才能更好的激发团队精神呢&#xff1f;” 每个企业都向往和号召团队精神&#xff0c;但是往往事与愿违。在各种羡慕嫉妒恨的情绪影响下&#xff0c;难免会产生一些落差&#xff0c;影响到团队精神。 所…

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

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

论jenkins的使用方法(初步)

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

1-1、Java概述

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

Docker 容器中使用 Docker - DinD 和 DooD

突然间研究这个来的缘由是正在从 Jenkins 往 Harness 的过度, 而完全用命令来构建 Docker 镜像变得不一样了。在 Jenkins 中 Agent 本身也是一个 Docker Daemon, 所以 Docker 命令执行无障碍&#xff0c;而 Harness 的所谓的 Agent 就是一个个的运行在 Kubernetes 中的 Docker …

error:gmapping

– Could not find the required component ‘gmapping’. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found. CMake Error at /opt/ros/kinetic/share/catkin/cmake…

logstash插件简单介绍

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

【SpringBoot教程】SpringBoot Thymeleaf 基于HTML5的现代模板引擎

作者简介&#xff1a;大家好&#xff0c;我是撸代码的羊驼&#xff0c;前阿里巴巴架构师&#xff0c;现某互联网公司CTO 联系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗…

error:move_base_msgs

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package): Could not find a package configuration file provided by “move_base_msgs” with any of the following names: move_base_msgsConfig.cmake move_base_msgs-config.cmake …

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

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

Linux bin包生成

需求背景&#xff1a; 在实际项目时我们很少把源码用个tar给到客户&#xff0c;这样显得很不专业&#xff0c;且有的时候我们提供补丁&#xff0c;那么这个时候我们提供一个补丁的bin包可以直接安装运行就显得很高大上了。 物料准备 准备一台liunx&#xff0c;虚拟机亦可&am…

自定义插件vue-router简单实现hashRouter设计思路

步骤 1.挂载 vue.prototype.$router 2.声明两个组件 router-view this.$router.current>component > h(component) router-link h(a,{attrs:{href:#this.to}},this.$slots.default) 3.url的监听&#xff1a;window hashchange的改变 4.定义响应式current&#xff0…

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

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

JavaScript深拷贝和浅拷贝

对于原始数据类型&#xff0c;并没有深浅拷贝的区别&#xff0c;深浅拷贝都是对于引用数据类型而言&#xff0c;如果我们要赋值对象的所有属性都是引用类型可以用浅拷贝 浅拷贝&#xff1a;只复制一层对象&#xff0c;当对象的属性是引用类型时&#xff0c;实质复制的是其引用&…

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

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

第6节:Vue3 调用函数

在Vue3中&#xff0c;你可以使用setup函数来调用函数。 <template><button click"handleClick">点击我</button> </template><script> import { ref } from vue;export default {setup() {// 创建一个响应式的引用const count ref(0…

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

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